09. januar 2003 - 20:49
Der er
23 kommentarer og 2 løsninger
If sætning..
Hejsa! Nogen der kan sige mig hvad der er ivejen med denne if.. if (!isset($s)) { $s = "0"; } Jeg får denne fejl: Parse error: parse error on line 45 HMM?!
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.
09. januar 2003 - 20:50
#1
Hvordan ser linierne ud før og efter?
09. januar 2003 - 20:51
#2
Hvad er linie 45? Det kan være du glemte et semikolon ovenover.
09. januar 2003 - 20:51
#3
prøv med if (!isset($s)) { $s = '0'; } ellers giv evt. noget af koden oven over linje 45. Det kunne være der problemet ligger i stedet.
09. januar 2003 - 20:56
#4
<? $pr_side = "3"; include("conn.php") if (!isset($s)) { $s = "0"; } ?> Sådan ser det ud. Det er de eneste linier der er over.
09. januar 2003 - 20:57
#5
Du mangler ; efter include("conn.php") include("conn.php");
09. januar 2003 - 20:57
#6
svar
09. januar 2003 - 21:00
#7
Det skal være sådan her: if (!isset($s)) { $s = 0; } Altså uden " og ' ...
09. januar 2003 - 21:14
#8
agg-zeus: Nej. whatever nu får jeg fejl på linie 159 og der står der står ikke noget. Skal jeg prøve at skrive det hele? Det fylder en del..
09. januar 2003 - 21:15
#9
Ja prøv det.
09. januar 2003 - 21:19
#10
<? $pr_side = "3"; include("conn.php"); if (!isset($s)) { $s = "0"; } ?> <?php #gem if ($_POST) { $comm = str_replace("\n","<BR>",$comm); $insert = "INSERT INTO gb(tid,navn,email,comm) VALUES(NOW(),'$navn','$email','$comm')"; mysql_query($insert) || die(mysql_error()); } ?> <?php print "<center><a href=\"gaestebog.php?action=skriv\">Skriv indlæg</a> <img src=gb.gif></center><br />"; if($action == "skriv") { ?> <form action="gaestebog.php" method="post"> <table border="0" cellpadding="5" cellspacing="0"> <tr><td align="right"><font size="-1" face="Verdana">Navn:</font></td><td><input type="text" name="navn" size="15" maxsize="20" style="border-color:#336699" style="color:#336699; style="border-width: thin;"></td></tr> <tr><td align="right"><font size="-1" face="Verdana">Email:</font></td><td><input type="text" name="email" size="15" maxsize="20" style="border-color:#336699" style="color:#336699; style="border-width: thin;"></td></tr> <tr><td align="right" valign="top"><font size="-1" face="Verdana">Kommentar:</font></td><td><textarea cols="28" rows="10" name="comm" style="border-color:#336699" style="color:#336699; style="border-width: thin;"></textarea></td></tr> <tr><td></td><td><input type="submit" value="Send" Class="submit" name="send"></td></tr> </form> </table> <?php } if($action == "skriv") { print "<br><br><hr color=#336699>"; } ?> <?php #Gæstebogen $query = "SELECT * FROM gb ORDER BY tid DESC limit $s,$pr_side"; $result = mysql_query($query); while($row = mysql_fetch_array($result)) { print "<table>"; print "<tr>"; print "<td>"; print "<b>Navn:</b> $row[navn]<br /></font>"; print "<b>Email:</b> <a href='mailto:$row[email]'>$row[email]</a><br />"; print "<font size=-2><b>Tidspunkt:</b> $row[tid]</font>"; print "</td>"; print "</tr>"; print "<td><br />"; print "$row[comm]"; print "</td>"; print "</td>"; print "</table>"; print "<hr color=#336699>"; } ?> <? if ($s >= $pr_side) { $previous_s = $s-$pr_side; print "<a href='?s=$previous_s'>Forrige</a> "; } $page = 1; for($start=0; $total > $start; $start=$start+$pr_side){ if ($start != $s) { print "<a href='?s=$start'>$page</a> "; } else { print "$page "; } $page++; if ($total > $s+$pr_side) { $next_s = $s+$pr_side; echo "<a href='?s=$next_s'>Næste</a>"; } ?> <? mysql_close($conn); ?> Både over og under dette stykke kode er der nogle includes, men de er rigtige nu. Jeg er først tilbage om 1 time eller sådan. Der venter 200 poing mere til den der kan få de side skift pis der til at virke :o) // Human
09. januar 2003 - 21:26
#11
Snildt, men kan man ikke lige høre ca. hvor linie 159 ligger i koden, så man har en pointer?
09. januar 2003 - 22:41
#12
uden for koden. Jeg skrev den ligger på en linje hvor der ikke står noget. under </html>
09. januar 2003 - 22:49
#13
OK. Det betyder, at du har glemt at lukke en løkke. Nærmere bestemt denne her: for($start=0; $total > $start; $start=$start+$pr_side){
09. januar 2003 - 22:56
#14
Jeg må hellere lægge et svar, i tilfælde af at jeg skulle have ret.
09. januar 2003 - 23:05
#15
Du havde såmen ret. Men det virker stadig ikke. Den sætter en limit til de 3 som jeg beder den om, men den udskriver ikke nogen forrige eller næste link. Hvad er det jeg gør forkert? Her kommer koden lige igen med lidt rettelser. Hvis du gider tage et kig på det altså :o) <? $pr_side = "3"; include("conn.php"); if (!isset($s)) { $s = "0"; } ?> <?php #gem if ($_POST) { $comm = str_replace("\n","<BR>",$comm); $insert = "INSERT INTO gb(tid,navn,email,comm) VALUES(NOW(),'$navn','$email','$comm')"; mysql_query($insert) || die(mysql_error()); } ?> <?php print "<center><a href=\"gaestebog.php?action=skriv\">Skriv indlæg</a> <img src=gb.gif></center><br />"; if($action == "skriv") { ?> <form action="gaestebog.php" method="post"> <table border="0" cellpadding="5" cellspacing="0"> <tr><td align="right"><font size="-1" face="Verdana">Navn:</font></td><td><input type="text" name="navn" size="15" maxsize="20" style="border-color:#336699" style="color:#336699; style="border-width: thin;"></td></tr> <tr><td align="right"><font size="-1" face="Verdana">Email:</font></td><td><input type="text" name="email" size="15" maxsize="20" style="border-color:#336699" style="color:#336699; style="border-width: thin;"></td></tr> <tr><td align="right" valign="top"><font size="-1" face="Verdana">Kommentar:</font></td><td><textarea cols="28" rows="10" name="comm" style="border-color:#336699" style="color:#336699; style="border-width: thin;"></textarea></td></tr> <tr><td></td><td><input type="submit" value="Send" Class="submit" name="send"></td></tr> </form> </table> <?php } if($action == "skriv") { print "<br><br><hr color=#336699>"; } ?> <?php #Gæstebogen $query = "SELECT * FROM gb ORDER BY tid DESC limit $s,$pr_side"; $result = mysql_query($query); while($row = mysql_fetch_array($result)) { print "<table>"; print "<tr>"; print "<td>"; print "<b>Navn:</b> $row[navn]<br /></font>"; print "<b>Email:</b> <a href='mailto:$row[email]'>$row[email]</a><br />"; print "<font size=-2><b>Tidspunkt:</b> $row[tid]</font>"; print "</td>"; print "</tr>"; print "<td><br />"; print "$row[comm]"; print "</td>"; print "</td>"; print "</table>"; print "<hr color=#336699>"; } ?> <? if ($s >= $pr_side) { $previous_s = $s-$pr_side; print "<a href='?s=$previous_s'>Forrige</a> "; } $page = 1; for($start=0; $total > $start; $start=$start+$pr_side){ if ($start != $s) { print "<a href='?s=$start'>$page</a> "; } else { print "$page "; } $page++; } if ($total > $s+$pr_side) { $next_s = $s+$pr_side; echo "<a href='?s=$next_s'>Næste</a>"; } ?> <? mysql_close($conn); ?>
09. januar 2003 - 23:07
#16
Har du evt. en URL, så jeg kan se siden i funktion (eller mangel på samme)?
09. januar 2003 - 23:18
#18
Mangel på funktion (idet den ikke virker efter formålet endnu) OK, nu er jeg med. Prøv at skrive: echo "test"; i én af if-løkkerne der burde vises men ikke gør det.
09. januar 2003 - 23:23
#19
Kan du ikke prøve at give mig et hint til hvad det er jeg mangler, jeg er totalt lost :(
09. januar 2003 - 23:25
#20
Grunden til jeg skriver det, er for at debugge; ved at plante echo'er rundt omkring i dit script, finder vi ud af hvad der afvikles og hvad der ikke gør.
09. januar 2003 - 23:30
#21
Her er en opskrift som du kan køre selv: 1. Tag en kopi af din kode. 2. Fjern så meget kode som muligt og lad løkkerne, samt andre ting, der er nødvendige for at det kører stå. 3. Prøv igen. Hvis det stadigvæk ikke virker, så fortsæt. 4. Fjern løkkerne en ad gangen. Hvis det pludselig begynder at virke, er det fordi at du lige har slettet den kode hvor fejlen var. Opskriften virker altid. Værsgo'.
09. januar 2003 - 23:31
#22
Det var egentlig en slags svar.
09. januar 2003 - 23:54
#23
Ahhh! :o) Tror jeg har fattet noget nu. Lyder det ikke meget rigtigt hvis jeg siger det er denne sætning der mangler: $g_total = mysql_query("select count(nr) as total from gb") or die(mysql_error()); $total = mysql_result($g_total,0); Men ved ("select count(nr) hvad skal der stå istedet for nr?
10. januar 2003 - 00:20
#24
Så fik i poing. Jeg har oprettet et spg med 200 poing til jer to (avlund og whatever), som hedder poing til de 2. Men i må meget gerne lige svare på det sidste jeg spurgte om. :o)
10. januar 2003 - 00:26
#25
Der skal stå COUNT(*) i stedet - da det jo er alle records du tæller på. Tak for points, jeg kigger på det andet spm.
Vi tilbyder markedets bedste kurser inden for webudvikling