23. september 2003 - 18:35
Der er
19 kommentarer og 1 løsning
Fejl i shoutbox script?
Af en eller anden grund virker dette script ikke: MySQL: CREATE TABLE `shoutbox` ( `id` int(11) NOT NULL auto_increment, `name` text NOT NULL, `message` longtext NOT NULL, `time` text NOT NULL, PRIMARY KEY (`id`) ) TYPE=MyISAM; php: <? mysql_pconnect("localhost","username","password"); mysql_select_db("db"); if($submit) { $time=date("h:ia d/j/y"); $result=MYSQL_QUERY("INSERT INTO shoutbox (id,name,message,time)"."VALUES (\'NULL\',\'$name\', \'$message\',\'$time\')"); } ?> <? $result = mysql_query("select * from shoutbox order by id desc limit 5"); while($r=mysql_fetch_array($result)) { $time=$r["time"]; $id=$r["id"]; $message=$r["message"]; $name=$r["name"]; ?> <form action="<? echo $php_self ?>" method="post"> <INPUT TYPE='TEXT' value='name' NAME='name' SIZE=30 maxlength='100'><br> <INPUT TYPE='TEXT' value='message' NAME='message' SIZE=30 maxlength='100'> <input type="submit" name="submit" value="submit"> </form> Hvad er der galt med det script?
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
23. september 2003 - 18:40
#1
Det er nok register globals der er off og lad dem bare være det. $result=MYSQL_QUERY("INSERT INTO shoutbox (id,name,message,time)"."VALUES (\'NULL\',\'".$_POST["name"]."\', \'".$_POST["message"]."\',\'".$_POST["time"]."\')"); /Nikolaj
23. september 2003 - 18:54
#2
Når Register_globals er off betyder det at du ikke længere kan hente variabler sendt via headeren ved bare at skrive variabelnavnet. du skal nu erstatte alle med : $_POST["name"] // Hvis de er sendt via en form med method="POST" ligesom du har her. $_GET["name"] // hvis de er sendt via urlen - hej.php?name=davser
23. september 2003 - 19:22
#3
nu har jeg lavet det om s¨det ser sådan ud, men det virker ikke. Der er ikke nogen errors, men den vil ikke submitte: <? mysql_pconnect("localhost"); mysql_select_db("news"); if($_POST["submit"]) { $time=date("h:ia d/j/y"); $result=MYSQL_QUERY("INSERT INTO shoutbox (id,name,message,time)"."VALUES (\'NULL\',\'$name\', \'$message\',\'$time\')"); } ?> <? $result = mysql_query("select * from shoutbox order by id desc limit 5"); while($r=mysql_fetch_array($result)) { $_GET["time"]=$r["time"]; $_GET["id"]=$r["id"]; $_GET["message"]=$r["message"]; $_GET["name"]=$r["name"]; } ?> <form action="<? echo $php_self ?>" method="post"> <INPUT TYPE='TEXT' value='name' NAME='name' SIZE=30 maxlength='100'><br> <INPUT TYPE='TEXT' value='message' NAME='message' SIZE=30 maxlength='100'> <input type="submit" name="submit" value="submit"> </form>
23. september 2003 - 19:33
#4
$time=$r["time"]; $id=$r["id"]; $message=$r["message"]; $name=$r["name"]; Skal ikke laves om da det er værdier fra databasen. Prøv at se om der er fejl i mySql´en $result=MYSQL_QUERY("INSERT INTO shoutbox (id,name,message,time)"."VALUES (\'NULL\',\'$name\', \'$message\',\'$time\')")or die(mysql_error());
23. september 2003 - 19:42
#5
Prøv at kigge på den. Kan i se nogle umiddelbare fejl? <? mysql_pconnect("localhost"); mysql_select_db("news"); if($_POST["submit"]) { $time=date("h:ia d/j/y"); $result=MYSQL_QUERY("insert into news (id,time,message,name) values ('NULL','$time','message,'name')"); } ?> <? $result = mysql_query("select * from shoutbox order by id desc limit 5"); while($r=mysql_fetch_array($result)) { $time=$r["time"]; $id=$r["id"]; $message=$r["message"]; $name=$r["name"]; } ?> <form action="<? echo $php_self ?>" method="post"> <INPUT TYPE='TEXT' value='name' NAME='name' SIZE=30 maxlength='100'><br> <INPUT TYPE='TEXT' value='message' NAME='message' SIZE=30 maxlength='100'> <input type="submit" name="submit" value="submit"> </form>
23. september 2003 - 19:47
#6
Ups det var min fejl i sidste post. Anyway skal det her virke : <?php $sql_host = "localhost"; $sql_user = "brugernavn"; $sql_passwd = "password"; $db = "news"; mysql_connect($sql_host,$sql_user,$sql_passwd)or die (mysql_error()); mysql_select_db($db)or die (mysql_error()); if($_POST["submit"]) { $time=date("h:ia d/j/y"); $result=MYSQL_QUERY("INSERT INTO shoutbox (id,name,message,time)"."VALUES (\'NULL\',\'".$_POST["name"]."\', \'".$_POST["message"]."\',\'".$_POST["time"]."\')")or die(mysql_error()); } $result = mysql_query("select * from shoutbox order by id desc limit 5"); while($r=mysql_fetch_array($result)) { $time=$r["time"]; $id=$r["id"]; $message=$r["message"]; $name=$r["name"]; } ?> <form action="<? echo $php_self ?>" method="post"> <INPUT TYPE='TEXT' value='name' NAME='name' SIZE=30 maxlength='100'><br> <INPUT TYPE='TEXT' value='message' NAME='message' SIZE=30 maxlength='100'> <input type="submit" name="submit" value="submit"> </form>
23. september 2003 - 19:48
#7
Du havde ikke skrevet brugernavn og password til databasen. Prøv at ændre dem til de rigtige værdier.
23. september 2003 - 19:55
#8
nikolajdu, det er på localhost. Der er ikke noget password. Når jeg bruger dit script kommer der denne error, når jeg trykker på submit: You have an error in your SQL syntax near '\'NULL\',\'name\', \'message\',\'\')' at line 1 P.s lav et svar, du skal have point for dit besvær alligevel! (hvis du ikke gider, ikke har tid etc.)
23. september 2003 - 19:57
#9
Nej jeg svarer ikke før vi er færdige :)) Kan du lave et dump af din databasestruktur?
23. september 2003 - 20:04
#10
Ok fandt lige et par ting til. 1. Du må nok ikke have et felt der hedder "time" i databasen - Det går jeg ud fra er et reserveret ord. Prøv om ikke den her dutter. <?php $sql_host = "localhost"; $sql_user = "brugernavn"; $sql_passwd = "password"; $db = "news"; mysql_connect($sql_host,$sql_user,$sql_passwd)or die (mysql_error()); mysql_select_db($db)or die (mysql_error()); if($_POST["submit"]){ $timer=date("h:ia d/j/y"); $result=MYSQL_QUERY("INSERT INTO shoutbox (id,name,message,timer)"."VALUES ('NULL','$time', '".$_POST["message"]."','".$_POST["time"]."')")or die(mysql_error()); $result = mysql_query("select * from shoutbox order by id desc limit 5"); while($r=mysql_fetch_array($result)){ $timer=$r["timer"]; $id=$r["id"]; $message=$r["message"]; $name=$r["name"]; } } ?> <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post"> <INPUT TYPE='TEXT' value='name' NAME='name' SIZE=30 maxlength='100'><br> <INPUT TYPE='TEXT' value='message' NAME='message' SIZE=30 maxlength='100'> <input type="submit" name="submit" value="submit"> </form>
23. september 2003 - 20:06
#11
$result=MYSQL_QUERY("INSERT INTO shoutbox (name,message,time)"."VALUES ('".$_POST["name"]."', '".$_POST["message"]."','".$_POST["time"]."')")or die(mysql_error()); (går ud fra id er auto_increement, så ingen grund til at sætte den) Morten
23. september 2003 - 20:07
#12
allersidste ;-) <?php $sql_host = "localhost"; $sql_user = "brugernavn"; $sql_passwd = "password"; $db = "news"; mysql_connect($sql_host,$sql_user,$sql_passwd)or die (mysql_error()); mysql_select_db($db)or die (mysql_error()); if($_POST["submit"]){ $timer=date("h:ia d/j/y"); $result=MYSQL_QUERY("INSERT INTO shoutbox (id,name,message,timer)"."VALUES ('NULL','".$_POST["name"]."', '".$_POST["message"]."','$timer')")or die(mysql_error()); $result = mysql_query("select * from shoutbox order by id desc limit 5"); while($r=mysql_fetch_array($result)){ $timer=$r["timer"]; $id=$r["id"]; $message=$r["message"]; $name=$r["name"]; } } ?> <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post"> <INPUT TYPE='TEXT' value='name' NAME='name' SIZE=30 maxlength='100'><br> <INPUT TYPE='TEXT' value='message' NAME='message' SIZE=30 maxlength='100'> <input type="submit" name="submit" value="submit"> </form>
23. september 2003 - 20:17
#13
nu virker det perfekt. Har skulle rette lidt men ikke det store, vær venlig at lav et svar, så du kan får nogle point!!
23. september 2003 - 20:19
#14
Oki doki manner :))
23. september 2003 - 20:21
#15
lige inden. Når man opdaterer siden, skriver den det sidst indtastede data til mysql databasen, så hver gang du opdatere, kommer det sidst skrevede indlæg igen. Lav et svar så du kan få nogle ekspert monz!
23. september 2003 - 20:22
#16
Hvad mente du med din sidste sætning ?? :))
23. september 2003 - 20:25
#17
havde glemt at opdatere siden! =)
23. september 2003 - 20:29
#18
Jamen så takker jeg for point og ønsker dem og deres nærmeste en rigtig god dag ;-)
23. september 2003 - 20:31
#19
selv tak da
Vi tilbyder markedets bedste kurser inden for webudvikling