Avatar billede b-jacobsen Nybegynder
02. august 2005 - 17:37 Der er 30 kommentarer og
1 løsning

Indsætter tomme felter i mindatabase?

Hej allesammen,
Jeg er ved at lave mit første forsøg med PHPMyAdmin og MySql, jeg har lavet en lille testside her - www.kskp.dk Mitproblem er, hver gang jeg trykker på linket i min indexfil og går til siden formular, bliver der automatisk oprettet en tom post i min database med kun Id og Dato. Du kan se hvad jeg mener her - http://www.kskp.dk/svarskema.php - tryk på "hent svar"! Hvad har jeg gjort galt? Håber en kan hjælpe, på forhånd tak.

Med venlig hilsen B. Jacobsen

<form name="svarskema" method="post" action="svarskema.php">
<p style="margin-left: 60" align="center">Navn: <input type="text" name="navn" size="30" maxlength="50"><br><br>
Tlf nr: <input type="text" name="tlf" size="30" maxlength="50"><br><br>
Email: <input type="text" name="email" size="30" maxlength="50"><br><br>
<input type=submit name="send" value="Send">   
<input type=reset name="slet" value="Slet"> </p>
</form>
</blockquote>
</fieldset><p align="center">&nbsp;<?
// Hent indholdet af formularens felter
$navn = $_REQUEST["navn"];
$tlf = $_REQUEST["tlf"];
$email = $_REQUEST["email"];
// Skab forbindelse til databasen her
mysql_connect("mydb2.surf-town.net", "ksweb_bcj", "bj0353") or die(mysql_error());
mysql_select_db("ksweb_database") or die(mysql_error());
//Indsæt indholdet af formularfelterne i databasen
mysql_query("INSERT INTO svarskema(navn, tlf, email) values('$navn', '$tlf', '$email')");echo mysql_error();
?><a href="vissvar.php">hent svar</a></p>

<fieldset style="margin:10; padding:1; word-spacing:0;">
<p align="center"><b><font face="Arial">&nbsp;<font color="#0000FF">Indtastede data!&nbsp;
</font> </font></b></p>


<?
// Skab forbindelse til databasen her
mysql_connect("mydb2.surf-town.net", "xxxxxx", "xxxxxx") or die(mysql_error());
mysql_select_db("ksweb_database") or die(mysql_error());
print "<html><center>";
print "Name : $navn<br>";
print "Telefon : $tlf<br>";
print "Email :$email<br>";
mysql_close()
?>
</legend>
&nbsp;</body></html>
Avatar billede nielle Nybegynder
02. august 2005 - 17:57 #1
Du bør bruge $_POST i stedet for $_REQUEST.
Avatar billede b-jacobsen Nybegynder
02. august 2005 - 18:05 #2
Hej nielle har prøvet dit forslag, men det har ingen effekt, opretter stadig tomme felter!
Avatar billede nielle Nybegynder
02. august 2005 - 18:10 #3
Hvordan kan det være at du får dato ind i din række? Der er ikke noget logik i dit script som skulle gøre dette. Måske er det en defaultværdi du har sat op?
Avatar billede nielle Nybegynder
02. august 2005 - 18:13 #4
Jeg har en ide om hvad der er galt. Den der kode bliver udført når folk skal se formen, ikke sandt?

Hvis det er tilfældet så får du jo udført en INSERT allerede før at folk overhovedet har submittet noget. Og i det tilfælde er værdierne af $navn, $tlf og $email selvfølgeligt tomme.
Avatar billede b-jacobsen Nybegynder
02. august 2005 - 18:14 #5
I PhpMyAdmin er den sat til timestamp, så det er nok grunden til dato.
Avatar billede b-jacobsen Nybegynder
02. august 2005 - 18:16 #6
nielle kan du uddybe hvad du mener, jeg er som sagt helt grøn ud i det her?
Avatar billede nielle Nybegynder
02. august 2005 - 18:23 #7
Når du vil have vist din form så sgår du ind på siden svarskema.php. Er det ikke rigtigt?

Men på den side er der jo - foruden formen - en SQL sætning som laver en INSERT til din tabel. Denne INSERT bliver m.a.o. udført bare ved det at se tabellen. Det er denne INSERT som er ansvarlig for den tomme række.
Avatar billede b-jacobsen Nybegynder
02. august 2005 - 18:29 #8
Jo det er rigtigt, men ifølge mit lille lærehæfte, "PHP for begyndere" skulle det ikke være noget problem, er det muligt at indsætte en kode så INSERT først bliver aktiveret når man trykker submit?
Avatar billede nielle Nybegynder
02. august 2005 - 18:30 #9
Det er i allerhøjeste grad et problem - som du selv har bemærket ;^)

Jeg bikser lige noget sammen til dig.
Avatar billede b-jacobsen Nybegynder
02. august 2005 - 18:33 #10
Tusinde tak!
Avatar billede nielle Nybegynder
02. august 2005 - 18:36 #11
<form name="svarskema" method="post" action="svarskema.php">
<p style="margin-left: 60" align="center">Navn:
<input type="text" name="navn" size="30" maxlength="50"><br><br>
Tlf nr: <input type="text" name="tlf" size="30" maxlength="50"><br><br>
Email: <input type="text" name="email" size="30" maxlength="50"><br><br>
<input type=submit name="send" value="Send">
<input type=reset name="slet" value="Slet">
</p>
</form>
</blockquote>
</fieldset>

<?
// Hent indholdet af formularens felter
$navn = $_POST["navn"];
$tlf = $_POST["tlf"];
$email = $_POST["email"];

if (isset($navn) || isset($tlf) || isset($email))
{
    // Skab forbindelse til databasen her
    mysql_connect("mydb2.surf-town.net", "ksweb_bcj", "bj0353") or die(mysql_error());
    mysql_select_db("ksweb_database") or die(mysql_error());

    // Indsæt indholdet af formularfelterne i databasen
    mysql_query("INSERT INTO svarskema(navn, tlf, email) values('$navn', '$tlf', '$email')") or die mysql_error();
}
?>

<p align="center">
<a href="vissvar.php">hent svar</a>
</p>

<fieldset style="margin:10; padding:1; word-spacing:0;">
<p align="center"><b><font face="Arial"><font color="#0000FF">Indtastede data!&nbsp;
</font>
</font></b>
</p>

<?
// Skab forbindelse til databasen her
mysql_connect("mydb2.surf-town.net", "xxxxxx", "xxxxxx") or die(mysql_error());
mysql_select_db("ksweb_database") or die(mysql_error());
print "<html><center>";
print "Name : $navn<br>";
print "Telefon : $tlf<br>";
print "Email :$email<br>";
mysql_close()
?>
</legend>
&nbsp;</body></html>
Avatar billede b-jacobsen Nybegynder
02. august 2005 - 18:38 #12
Jeg prøver at sætte det ind!
Avatar billede b-jacobsen Nybegynder
02. august 2005 - 18:44 #13
Jeg får følgende fejl - Parse error: parse error, unexpected T_STRING in /hsphere/local/home/ksweb/kskp.dk/svarskema.php on line 45

Dette er linie 45-  mysql_query("INSERT INTO svarskema(navn, tlf, email) values('$navn', '$tlf', '$email')") or die mysql_error();
}
Avatar billede nielle Nybegynder
02. august 2005 - 18:50 #14
mysql_query("INSERT INTO svarskema(navn, tlf, email) values('$navn', '$tlf', '$email')") or die(mysql_error());
Avatar billede b-jacobsen Nybegynder
02. august 2005 - 18:54 #15
Det bliver mere og mere mærkeligt, nu skriver den - Parse error: parse error, unexpected $ in /hsphere/local/home/ksweb/kskp.dk/svarskema.php on line 69

og dette er linie 69 - </body></html>
Avatar billede nielle Nybegynder
02. august 2005 - 18:55 #16
Du mangler et ";" efter din mysql_close().
Avatar billede b-jacobsen Nybegynder
02. august 2005 - 19:03 #17
Har indsat - mysql_close (); //Lukker forbindelse
Men får stadig denne fejl - Parse error: parse error, unexpected $ in /hsphere/local/home/ksweb/kskp.dk/svarskema.php on line 69
Avatar billede nielle Nybegynder
02. august 2005 - 19:07 #18
Prøv lige ar repost'e din kode som den ser ud nu.
Avatar billede b-jacobsen Nybegynder
02. august 2005 - 19:09 #19
<html>

<head>
<meta http-equiv="Content-Language" content="da">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/php; charset=windows-1252">
<title>Formular</title>
</head>

<body bgcolor="#FF9966" topmargin="0" leftmargin="0">


<fieldset style="margin:10; padding:1; word-spacing:0">
<legend align="center">
<p align="left"><b><font face="Arial">&nbsp;Husk at udfylde alle felter&nbsp; </font></b></p>
</legend>

<blockquote>
<form name="svarskema" method="post" action="svarskema.php">
<p style="margin-left: 60" align="center">Navn:
<input type="text" name="navn" size="30" maxlength="50"><br><br>
Tlf nr: <input type="text" name="tlf" size="30" maxlength="50"><br><br>
Email: <input type="text" name="email" size="30" maxlength="50"><br><br>
<input type=submit name="send" value="Send">
<input type=reset name="slet" value="Slet">
</p>
</form>
</blockquote>
</fieldset>

<?
// Hent indholdet af formularens felter
$navn = $_POST["navn"];
$tlf = $_POST["tlf"];
$email = $_POST["email"];

if (isset($navn) || isset($tlf) || isset($email))
{
    // Skab forbindelse til databasen her
    mysql_connect("mydb2.surf-town.net", "xxxxxx", "xxxxxx") or die(mysql_error());
    mysql_select_db("ksweb_database") or die(mysql_error());

    // Indsæt indholdet af formularfelterne i databasen
mysql_query("INSERT INTO svarskema(navn, tlf, email) values('$navn', '$tlf',
'$email')") or die(mysql_error());?>

<p align="center">
<a href="vissvar.php">hent svar</a>
</p>

<fieldset style="margin:10; padding:1; word-spacing:0;">
<p align="center"><b><font face="Arial"><font color="#0000FF">Indtastede data!&nbsp;
</font>
</font></b>
</p>

<?
// Skab forbindelse til databasen her
mysql_connect("mydb2.surf-town.net", "xxxxxx", "xxxxxx") or die(mysql_error());
mysql_select_db("ksweb_database") or die(mysql_error());
print "<html><center>";
print "Name : $navn<br>";
print "Telefon : $tlf<br>";
print "Email :$email<br>";
mysql_close (); //Lukker forbindelse
?>
</legend>
</body></html>
Avatar billede nielle Nybegynder
02. august 2005 - 19:20 #20
Den afsluttende tuborg var blevet væk i:

if (isset($navn) || isset($tlf) || isset($email))
{
    // Skab forbindelse til databasen her
    mysql_connect("mydb2.surf-town.net", "xxxxxx", "xxxxxx") or die(mysql_error());
    mysql_select_db("ksweb_database") or die(mysql_error());

    // Indsæt indholdet af formularfelterne i databasen
    mysql_query("INSERT INTO svarskema(navn, tlf, email) values('$navn', '$tlf', '$email')") or die(mysql_error());
}
Avatar billede b-jacobsen Nybegynder
02. august 2005 - 19:29 #21
Parse error: parse error, unexpected '<' in /hsphere/local/home/ksweb/kskp.dk/svarskema.php on line 47

Linie 47 - <a href="vissvar.php">hent svar</a>
Avatar billede nielle Nybegynder
02. august 2005 - 19:32 #22
Det lyder som om at du har fået slettet ?> lige efter den tuborg du netop har indsat.
Avatar billede b-jacobsen Nybegynder
02. august 2005 - 19:32 #23
Jeg tror den er der nu, jeg indsatte - ?> i linie 46 og det ser ud til at det virker nu!
Avatar billede b-jacobsen Nybegynder
02. august 2005 - 19:34 #24
Tusinde gange tak! sætter du et svar så du kan få point?
Avatar billede nielle Nybegynder
02. august 2005 - 19:37 #25
Svar :^)
Avatar billede b-jacobsen Nybegynder
02. august 2005 - 19:42 #26
Fik du dine point, plejer der ikke at stå point under navnet i venstre side?
Avatar billede nielle Nybegynder
02. august 2005 - 19:43 #27
Du skal markere mit navn før at du kan acceptere svaret.
Avatar billede b-jacobsen Nybegynder
02. august 2005 - 19:44 #28
Ok
Avatar billede b-jacobsen Nybegynder
02. august 2005 - 19:44 #29
Der var den - Hej igen!
Avatar billede nielle Nybegynder
02. august 2005 - 19:45 #30
Forresten må du hellere se at få ændret dit userid og/eller password. Nu er det jo kommet ud i offentligheden. :^|
Avatar billede b-jacobsen Nybegynder
02. august 2005 - 19:46 #31
Ja jeg har prøvet at kontakte webmaster for at få spørgsmålet slettet, men det er ikke til at sende mail fra deres formular. Men jeg ændre med det samme.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester