19. marts 2003 - 21:37
Der er
31 kommentarer og 1 løsning
Parse error: parse error, unexpected T_STRING in .....
Jeg får ovennævnte fejl når jeg forsøger at vise min side. Fejlen peger på linje 161. Området omkring linje 161 ser sådan ud (fra og med linje 146 til og med 166 - linje 161 er $query_string = "insert into newsuser (id, username) values ( \"$id\", \"$username\" );"; ***** function Insert( $db, $date, $header, $body, $section, $usr, $username, $id) { $query_string = "insert into mininews (date, header, body, section) values (\"$date\", \"$header\", \"$body\", \"$section\");"; $result = submit_query($query_string,$db); $query_string = "select ID from mininews where date=\"$date\" and header = \"$header\" and body = \"$body\" and section = \"$section\"; $result = submit_query($query_string,$db); $row = mysql_fetch_row( $result ); if( $row ) { list( $id ) = $row; for( i=0; i < $k.length; i++ ) { $query_string = "insert into newsuser (id, username) values ( \"$id\", \"$username\" );"; $result = submit_query($query_string,$db); } } header("Location: securepage.php?usr=$usr"); } ***** Der er noget galt.. Men hvad? :-/ /kanyle
Annonceindlæg fra Pax8
19. marts 2003 - 21:38
#1
$query_string = "insert into newsuser (id, username) values ( '$id','$username')";
19. marts 2003 - 21:38
#2
$query_string = "insert into newsuser (id, username) values ('$id','$username')";
19. marts 2003 - 21:39
#3
Du havde smuttet et semikolon for meget ind.
19. marts 2003 - 21:43
#4
Det hjalp desværre ikke. Jeg får stadig samme fejl.
19. marts 2003 - 21:44
#5
$query_string = "insert into newsuser (id, username) values (\"$id\", \"$username\")";
19. marts 2003 - 21:45
#6
men: $query_string = "insert into newsuser (id, username) values ( '$id','$username')"; Er der intet galt i, har du husket at opdatere?
19. marts 2003 - 21:46
#7
Nope. Still no difference.
19. marts 2003 - 21:49
#8
Hvilken linie er 161 helt præcist?
19. marts 2003 - 21:52
#9
Af følgende linjer ******* for( i=0; i < $k.length; i++ ) { $query_string = "insert into newsuser (id, username) values (\"$id\", \"$username\")"; $result = submit_query($query_string,$db); } ****** er ****** $query_string = "insert into newsuser (id, username) values (\"$id\", \"$username\")"; ****** linje 161
19. marts 2003 - 21:56
#10
Mon ikke at det er linien oppe over den brokker sig over? for( i=0; i < $k.length; i++ ) Mener ikke du kan have punktum i variabel!
19. marts 2003 - 21:57
#11
$query_string = "insert into newsuser (id, username) values ('$id', '$username')"; Denne linie er rigtig nu.
19. marts 2003 - 22:00
#12
htm >> Det mener jeg heller ikke :o) Hvorfor havde jeg ikke set den.
19. marts 2003 - 22:03
#13
Filen er på 181 linjer ialt. Skal jeg poste alle linjer hér eller sende dem til en af jer, så der kan kigges nærmere på skidtet? :-) (points kan selvfølgelig forøges)
19. marts 2003 - 22:04
#14
"i" skal vel også være en variabel: for($i=0; $i < $k.length; $i++)
19. marts 2003 - 22:14
#15
Det virker desværre stadig ikke. Jeg er temmelig ny til det hér, så mon ikke jeg har lavet en fejl et eller andet sted i filen?
19. marts 2003 - 22:19
#16
prøv at send filen til admin@schaefner.dk
19. marts 2003 - 22:29
#17
hvad er $k.length ?? skal det ikke være : strlen($k) eller er det mig der er lost ? så det ser således ud : for ($i=0;$i<strlen($k);$i++) {
19. marts 2003 - 22:34
#18
Standardsvaret er jo næsten blevet: "Det virker stadig ikke" så det bruger jeg endnu engang :-/
19. marts 2003 - 22:50
#19
så må vi se noget kode her på siden
19. marts 2003 - 22:51
#20
Så vil jeg da lige poste koden som kanyle har sendt til mig: <? // session check session_start(); if (!session_is_registered("SESSION")) { // if session check fails, invoke error handler header("Location: error.php?e=2"); exit(); } $server = "mysql.itu.dk"; $user = "webf2003_a02"; $password = "rodfrugt"; function submit_query( $sql, $db ) { $result = mysql_query( $sql, $db ); if ( ! $result ) die ("Query '$sql' failed.\n"); return $result; } /* Make a connection to the database server: */ $db = mysql_connect( $server, $user, $password ); if ( ! $db ) die( "Cannot open connection to $user@$server" ); /* Choose the database to work with: */ if (!mysql_select_db( "webf2003_a02", $db )) die( "Cannot select database 'webf2003_a02'." ); $result = submit_query( "SELECT * FROM mininews;", $db ); function Add( $db, $usr ) { ?> <html> <head> <basefont face="Verdana"> <script type=text/javascript> function validate(f){ if(f.header.value.length < 2){ alert("The header must have at least 2 characters."); return false; } if(f.header.value.length > 128){ alert("The header must contain maximum 128 characters."); return false; } var selectedUsers = document.forms[0].getElementsByTagName("input"); for ( i = 0; i < selectedUsers.length; i++){ if (selectedUsers[i].type == "checkbox" && selectedUsers[i].checked){ alert(selectedUsers[i].value) } } } function textCounter(field, countfield, maxlimit) { if (field.value.length > maxlimit) { field.value = field.value.substring(0, maxlimit); alert("You are only allowed 2000 characters."); } else countfield.value = maxlimit - field.value.length; } </script> </head> <body> <h1>Create article</h1> <? $date = date("Y-m-d").date('H:m:s'); global $PHP_SELF; print( "<b>Main author :</b> $usr <br> <form action=\"$PHP_SELF\" method=\"post\" onSubmit=\"return validate(this);\">\n" ); print( "<b>Choose authors for this article:</b><br>\n"); //getting userinfo $result = submit_query( "SELECT * FROM miniuser", $db ); $row = mysql_fetch_row( $result ); while ( $row ) { if( $usr != $username ) { list( $username ) = $row; print ( "<input type=checkbox name=k value=\"$username\">$username</input><br>" ); $row = mysql_fetch_row( $result ); } } print( "<b>Article type:</b><br><select name=\"section\"> <option value=\"Indland\">Indland</option> <option value=\"Udland\">Udland</option> <option value=\"Sport\">Sport</option></select><br> <b>Header field:</b><br><input type=\"text\" name=\"header\" size=\"50\"></textarea><br> <b>Bodytext field:</b><br><textarea name=\"body\" cols=\"50\" rows=\"10\" onKeyDown=\"textCounter(this.form.body,this.form.charsLeft,2000);\" onKeyUp=\"textCounter(this.form.body,this.form.charsLeft,2000);\"></textarea> <input readonly type=text name=charsLeft size=3 maxlength=4 value=2000> characters left<br> <!--// Note the use of 'hidden' fields to communicate to the script what to do.--> <input type=hidden name=event value=insert> <input type=hidden name=date value=$date> <input type=\"submit\" value=\"Add article\"></input> <input type=\"reset\" value=\"Clear all\"></input> </form><br> <a href='securepage.php?usr=$usr'>Gå tilbage til start</a>\n" ); ?> </body> </html> <? } function Insert( $db, $date, $header, $body, $section, $usr, $username, $id) { $query_string = "insert into mininews (date, header, body, section) values (\"$date\", \"$header\", \"$body\", \"$section\");"; $result = submit_query($query_string,$db); $query_string = "select id from mininews where date=\"$date\" and header = \"$header\" and body = \"$body\" and section = \"$section\"; $result = submit_query($query_string,$db); $row = mysql_fetch_row( $result ); if( $row ) { list( $id ) = $row; for($i=0; $i < $k.length; $i++) { $query_string = "insert into newsuser (id, username) values ('$id', '$username')"; $result = submit_query($query_string,$db); } } header("Location: securepage.php?usr=$usr"); } /* Find out what to do next: */ switch( $event ) { case "insert": Insert( $db, $date, $header, $body, $section, $id, $usr, $username ); case "add": Add( $db, $usr ); break; default: Add( $db, $usr ); } /* Close database: */ mysql_close( $db ); ?>
19. marts 2003 - 22:52
#21
Jeg har sendt hele filen til schaefner. Det samme kan jeg gøre til dem, der ønsker det
19. marts 2003 - 23:08
#22
Som jeg ser det nu er det fordi $k.length ikke er defineret nogen steder. Desuden ville jeg ændre den nederste del af din kode til: function Insert($db, $date, $header, $body, $section, $usr, $username, $id) { $query_string = "insert into mininews (date, header, body, section) values ('$date', '$header', '$body', '$section');"; $result = submit_query($query_string,$db); $query_string = "select id from mininews where date='$date' and header='$header' and body='$body' and section='$section'; $result = submit_query($query_string,$db); $row = mysql_fetch_row($result); if($row) { list($id) = $row; for($i=0; $i < $k.length; $i++) { $query_string = "insert into newsuser (id, username) values ('$id', '$username')"; $result = submit_query($query_string,$db); } }
19. marts 2003 - 23:10
#23
function Insert($db, $date, $header, $body, $section, $usr, $username, $id) { $query_string = "insert into mininews (date, header, body, section) values ('$date', '$header', '$body', '$section');"; $result = submit_query($query_string,$db); $query_string = "select id from mininews where date='$date' and header='$header' and body='$body' and section='$section'"; $result = submit_query($query_string,$db); $row = mysql_fetch_row($result); if($row) { list($id) = $row; for($i=0; $i < $k.length; $i++) { $query_string = "insert into newsuser (id, username) values ('$id', '$username')"; $result = submit_query($query_string,$db); } }
19. marts 2003 - 23:11
#24
Der er sørme mange ting ;o) function Insert($db, $date, $header, $body, $section, $usr, $username, $id) { $query_string = "insert into mininews (date, header, body, section) values ('$date', '$header', '$body', '$section')"; $result = submit_query($query_string,$db); $query_string = "select id from mininews where date='$date' and header='$header' and body='$body' and section='$section'"; $result = submit_query($query_string,$db); $row = mysql_fetch_row($result); if($row) { list($id) = $row; for($i=0; $i < $k.length; $i++) { $query_string = "insert into newsuser (id, username) values ('$id', '$username')"; $result = submit_query($query_string,$db); } } Men hvis du selv kan give en forklaring på hvor den skal få $k.length fra er det måske nemmere at komme videre.
19. marts 2003 - 23:22
#25
ahv : Så vidt jeg kan se er den eneste ændring fra indlægget kl. 23.10 til 23.12 er fjernelse af et ";". Dette virker regardless :-)
19. marts 2003 - 23:23
#26
variablen $k kommer fra din checkbox, mon ikke du vil checke med sizeof($k) ??
19. marts 2003 - 23:27
#27
kanyle: også er alle dine \" blevet ændret til '
19. marts 2003 - 23:39
#28
ahv: jep - det kan jeg godt li' :-) Når jeg kører filen, tar det lang tid at få noget frem, og det som kommer frem er: Fatal error: Maximum execution time of 60 seconds exceeded in (path) on line 106
24. marts 2003 - 07:38
#29
kanyle >> Prøv i toppe af dit script at indsætte: @set_time_limit(0); Dette skulle sætte timeout'en til uendelige, og du skulle gerne slippe for din fejl. Dit script tager åbenbart sin tid.
25. marts 2003 - 13:37
#30
Der var indtil flere linjers rigtig ringe kode. Det er nu omskrevet og virker. /kanyle
31. marts 2003 - 21:50
#31
Så er det normalt nu man lukker et spørgsmål, og evt. beder folk der har bidraget til løsningen, om at svare :)
01. april 2003 - 12:02
#32
Lukket.
Vi tilbyder markedets bedste kurser inden for webudvikling