09. januar 2002 - 11:35
Der er
29 kommentarer og 2 løsninger
Værdier i HTML form bliver ikke overført til mit php script??
Jeg har en HTML form som submitter videre til en PHP fil. denne PHP fil uploader data til en MySQL database. Problemet er at værdierne i formen bliver ikke sent videre til PHP filen. Variablerne i PHP filen er tomme. HVORFOR???
Annonceindlæg fra Infor
09. januar 2002 - 11:40
#1
Prøv at vise os koden....?? Hvordan er PHP sat op? Er register_globals slået fra?
09. januar 2002 - 11:40
#2
må vi se koden?
09. januar 2002 - 11:40
#3
Din method=post eller method=get? Ellers sender den ikke nogen oplysninger
09. januar 2002 - 11:45
#4
kode fra HTML fil: <FORM method=\"POST\" action=\"klibrary_form.php\"> <table cellspacing=\"2\" cellpadding=\"2\" border=\"0\"> <tr> <td>Firstname</td> <td><INPUT type=\"text\" name=\"firstname\" size=\"50\" maxlength=\"50\"></td> </tr> <tr> <td>Middlename</td> <td><INPUT type=\"text\" name=\"middlename\" size=\"50\" maxlength=\"50\"></td> </tr> <tr> <td>Surname</td> <td><INPUT type=\"text\" name=\"surname\" size=\"50\" maxlength=\"50\"></td> </tr> <tr> <td>E-mail</td> <td><INPUT type=\"text\" name=\"email\" size=\"50\" maxlength=\"50\"></td> </tr> <tr> <td>Company</td> <td><INPUT type=\"text\" name=\"company\" size=\"50\" maxlength=\"50\"></td> </tr> <tr> <td><INPUT type=\"submit\" name=\"Submit\" value=\"Next\"></td> <td></td> </tr> </table> </form> kode fra PHP fil: <?php $connection = mysql_connect(\"mysql.consensusonline.net\", \"consensusonlinet\", \"caa57ahn\") or die(\"Couldn\'t connect to server.\"); // Skaber forbindelse til SQL serveren. $db = mysql_select_db(\"consensusonlinet\", $connection) or die(\"Couldn\'t select database.\"); // Vælger database. //$sql = \"UPDATE klibrary SET firstname = \'$firstname\', middlename = \'$middlename\', surname = \'$surname\', company = \'$company\', email = \'$email\' WHERE email = \'$email\'\"; $sql = \"INSERT INTO klibrary (firstname, middlename, surname, email, company) VALUES (\'$firstname\', \'$middlename\', \'$surname\', \'$email\', \'$company\')\"; $sql_result = mysql_query($sql, $connection) or die(\"Email already exist!\"); mysql_close($connection); echo \"<HEAD><meta http-equiv=\\\"Refresh\\\" content=\\\"0;url=klibrary_download.htm\\\"></HEAD>\"; ?>
09. januar 2002 - 11:48
#5
Prøv at give din form et navn, og sæt så INPUT type=\"submit\" name=\"Submit\" value=\"Next\" OnClick=\"formnavn.submit\">
09. januar 2002 - 11:55
#6
gnyff: det hjalp ikke... stadig tomme variabler i php filen!
09. januar 2002 - 12:00
#7
Jeg ved ikke om det hjælper med prøv at ændre din method til get
09. januar 2002 - 12:03
#8
gnyff: Det hjalp heller ikke...
09. januar 2002 - 12:07
#9
Når jeg prøver virker det uden fejl, hvis jeg fjerne method :o) Prøv det
09. januar 2002 - 12:07
#10
Når du nu siger at den ikke overfører variablerne, er det fordi de ikke indsættes i databasen, eller har du prøvet at echo variablerne? F.eks. echo $sql
09. januar 2002 - 12:10
#11
gnyff: det hjalp heler ikke. Gad vide om det er min SQL server der er noget i vejen med.
09. januar 2002 - 12:11
#12
cpt.kangaroo: Der kommer kun tomme felter i databasen!
09. januar 2002 - 12:12
#13
Kører du siden lokalt eller på et webhotel? Prøv at lave en php-fil, i hvilken du kalder funktionen phpinfo(). Så kan du se opsætningen af php. Prøv at kigge efter \"register_globals\".
09. januar 2002 - 12:14
#14
Prøv at echo $sql, så kan du se om alle variabler er blevet sendt til php filen. Hvis de er det, må der være noget galt i SQL\'en.
09. januar 2002 - 12:14
#15
Det er fordi du sætter variabel $sql til INSERT INTO.... og variablen skal være \"INSERT INTO Prøv at erstatte den med: $sql_result = mysql_query(\"INSERT INTO klibrary (firstname, middlename, surname, email, company) VALUES (\'$firstname\', \'$middlename\', \'$surname\', \'$email\', \'$company\')\", $connection) or die(\"Email already exist!\");
09. januar 2002 - 12:14
#16
cpt.kangaroo: har lige prøvet echo $sql -> der er tomme variabler!
09. januar 2002 - 12:18
#17
Så prøv at kalde phpinfo(), og tjek om register_globals er slået fra.
09. januar 2002 - 12:20
#18
gnyff: det blev det kun være af........
09. januar 2002 - 12:20
#19
Jeg har lige prøvet med method=\"post\" og der virker variablerne. Men prøv at ændre $sql = \"insert into..... med $sql = \"\\\"insert into.....
09. januar 2002 - 12:22
#20
Det kan jo stadig skyldes, at variablerne ikke er globale.
09. januar 2002 - 12:23
#21
whatever: den er slået fra! hvordan slår jeg den til?
09. januar 2002 - 12:27
#22
Kører du windows eller linux?
09. januar 2002 - 12:31
#23
whatever: det er ikke sikkert jeg kan slå den til, da serveren står hos min udbyder..... MySQL bliver kørt på en Windows 2000 server
09. januar 2002 - 12:35
#24
Så kan du ikke slå det til. Har selv haft samme problem hos Azero. Istedet kan du lave en php-fil som du inkluderer i alle dine php-filer. Denne fil skal indeholde følgende: <? if($HTTP_POST_VARS){ foreach($HTTP_POST_VARS as $Key=>$Value) { $$Key = $Value; } } if($HTTP_COOKIE_VARS){ foreach($HTTP_COOKIE_VARS as $Key=>$Value) { $$Key = $Value; } } if($HTTP_GET_VARS){ foreach($HTTP_GET_VARS as $Key=>$Value) { $$Key = $Value; } } if($HTTP_SERVER_VARS){ foreach($HTTP_SERVER_VARS as $Key=>$Value) { $$Key = $Value; } } if($HTTP_ENV_VARS){ foreach($HTTP_ENV_VARS as $Key=>$Value) { $$Key = $Value; } } ?>
09. januar 2002 - 12:36
#25
Hvis de ikke vil/kan slå det til, kan du hente variablerne sådan: $HTTP_POST_VARS[\'firstname\'] $HTTP_POST_VARS[\'middlename\'] osv..
09. januar 2002 - 12:42
#26
cpt.kangaroo, whatever: i begge har givet et rigtigt svar! cpt.kangaroo: send en besked som svar og jeg vil give jer begge point!
09. januar 2002 - 12:43
#27
whatever> Din var vist smarter :-)
09. januar 2002 - 12:44
#28
Okie :)
09. januar 2002 - 12:58
#29
$connection = mysql_connect(\"mysql.consensusonline.net\", \"consensusonlinet\", \"caa57ahn\") or die(\"Couldn\'t connect to server.\"); Jeg håber at caa57ahn IKKE er dit password, eller at du har skiftet det... Det er nemlig MEGET DUMT at poste brugernavn og password et sted som her på eksperten!!
09. januar 2002 - 13:05
#30
chanoa: Jeg ved det, det var en fejl. Er ved at løse problemmet.....Jeg var lidt for hurtig med at ligge koden ud på nettet!
09. januar 2002 - 13:23
#31
Hehe...Det sker...
Vi tilbyder markedets bedste kurser inden for webudvikling