07. juni 2003 - 12:00
Der er
17 kommentarer og 1 løsning
hvor melder den fejl??
Hej! Jeg er ved at lave lidt om på mit nyhedsmoduel. Hvorfor melder den denne fejl? Parse error: parse error, unexpected T_VARIABLE, expecting ',' or ';' in /home/creeddk/public_html/test/vis.php on line 19 min kode ser sådan ud: <? $connection = mysql_connect("localhost","creeddk_creed","nonstop"); mysql_select_db("creeddk_creed", $connection); $query = mysql_query("SELECT * FROM news ORDER BY id DESC LIMIT 0,100"); while($row = mysql_fetch_array($query)) { echo" <table class='tekstafsnit' width='100%' border='0' cellspacing='0' cellpadding='0'> <tr> <td><b><u><a href="$row[link]">$row[overskrift]</a></u></b> [$row[dato]]</td> </tr> <tr> <tr> <td>$row[knyhed]</td> </tr> <tr> <td>$row[nyhed]<br><br></td> </tr> </table> "; } ?> NB: Når jeg skal oprette en ny hyhed, så udfylder jeg felterne "overskrift, links, knyhed (som er en lille beskrivelse af nyheden) og hele nyheden. Jeg vil gerne have at overskriften får linket fra feltet "link". Men den melder fejl. gør jeg det helt forkert!????
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.
Den skal vel nærmere hedde noget i retning af dette?: <?php $connection = mysql_connect("localhost","creeddk_creed","nonstop"); mysql_select_db("creeddk_creed", $connection); $query = mysql_query("SELECT * FROM news ORDER BY id DESC LIMIT 0,100"); while($row = mysql_fetch_array($query)) { echo "<table class=\"tekstafsnit\" width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n" ." <tr>\n" ." <td><b><u><a href=\"$row[link]\">$row[overskrift]</a></u></b> [$row[dato]]</td>\n" ." </tr>\n" ." <tr>\n" ." <td>$row[knyhed]</td>\n" ." </tr>\n" ." <tr>\n" ." <td>$row[nyhed]<br><br></td>\n" ." </tr>\n" ."</table>"; } ?>
Ja, det virker både og... Når jeg har oprettet en nyhed: kommer datoen kun frem [07/06/2003] der kommer ikke andet..
Hvilken linje har nummer 19 hos dig?
msira: Jeg går da ikke ud fra den stadig melder fejl på linje 19 eller en hvilken som helst anden linje? Indholdet bliver bare ikke vist.. eller hvad?
Ok - jeg stiller spørgsmålet på en anden måde: (der kommer så lidt flere point oveni) Jeg har en opretnyhed.php: den ser sådan ud: <form method="post" action="gem.php"> <table width="53%" border="0" align="center"> <tr> <td width="12%"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Overskift</font></td> <td width="88%"> <input type="text" name="textfield" size="50"> </td> </tr> <tr> <td width="12%"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Links</font></td> <td width="88%"> <input type="text" name="textfield2" size="50"> </td> </tr> <tr> <td width="12%"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Kort nyhed</font></td> <td width="88%"> <textarea name="textfield3" cols="75" rows="5"></textarea> </td> </tr> <tr> <td width="12%"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Nyhed</font></td> <td width="88%"> <textarea name="textfield4" cols="75" rows="15"></textarea> </td> </tr> <tr> <td width="12%"> <input type="submit" name="send" value="Opret nyhed"> </td> <td width="88%"> <input type="reset" name="slet" value="slet"> </td> </tr> </table> <br> </form> Så har jeg en vis.php: <?php $connection = mysql_connect("xx","xx","xx"); mysql_select_db("xx", $connection); $query = mysql_query("SELECT * FROM news ORDER BY id DESC LIMIT 0,100"); while($row = mysql_fetch_array($query)) { echo "<table class=\"tekstafsnit\" width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n" ." <tr>\n" ." <td><b><u><a href=\"$row[link]\">$row[overskrift]</a></u></b> [$row[dato]]</td>\n" ." </tr>\n" ." <tr>\n" ." <td>$row[knyhed]</td>\n" ." </tr>\n" ." <tr>\n" ." <td>$row[nyhed]<br><br></td>\n" ." </tr>\n" ."</table>"; } ?> og en gem.php: <? $connection = mysql_connect("xx","xx","xx"); mysql_select_db("xx", $connection); $dato = date('d/m/Y'); mysql_query("INSERT INTO news (overskrift, link, dato, nyhed) VALUES ('$overskrift', '$link', '$dato', '$nyhed')") OR DIE (mysql_error()); mysql_close; header("Location: vis.php"); ?> min MySQL: CREATE TABLE nyheder ( id int(5) NOT NULL auto_increment, overskrift tinytext NOT NULL, link tinytext NOT NULL, dato tinytext NOT NULL, knyhed text NOT NULL, nyhed text NOT NULL, PRIMARY KEY (id) ) TYPE=MyISAM; jeg vil gerne have et nyhedssystem, hvor jeg skriver i "opretnyhed.php" Når jeg har udfyldt felterne: "overskift, link og nyhed: skal dt kunne ses i vis.php. Vis.php skal være en nyhedsoversigt - altså den skal kunne vise overskriften på nyhederne og LIDT af nyheden. ( I ved: bla bla bla bla bla bla bla bla bla.....) og så kan man trykke på overskriften som er link til resten af nyheden. - Msira
nej, nyhén bliver ikke vist
Det første du skal finde ud af er, om det overhovedet kommer i databasen. - Gør det det?
Det er kun datoen der kommer ind.. resten er der ikke
07. juni 2003 - 14:02
#10
Så ligger fejlen altså der hvor du putter data i databasen, eller før. Du kan altså glemme alt som "vis.php" indtil videre. Prøv at rette dette: mysql_query("INSERT INTO news (overskrift, link, dato, nyhed) VALUES ('$overskrift', '$link', '$dato', '$nyhed')") OR DIE (mysql_error()); Til dette: $sql = "INSERT INTO news (overskrift, link, dato, nyhed) VALUES ('$overskrift', '$link', '$dato', '$nyhed')"; echo "<p>SQL: $sql</p>"; mysql_query($sql) OR DIE (mysql_error()); Jeg har ikke ændret på selve SQL'en eller funktionaliteten, jeg har bare lavet det sådan at du kan se hvilken kommando du sender til databasen. - Ser det ud som forventet?
07. juni 2003 - 14:22
#11
Nu har jeg sat din kode ind i gem.php - men nu kommer fejlen: SQL: INSERT INTO news (overskrift, link, dato, nyhed) VALUES ('', '', '07/06/2003', '') Warning: Cannot modify header information - headers already sent by (output started at /home/creeddk/public_html/test/gem.php:7) in /home/creeddk/public_html/test/gem.php on line 10 og line 10 er: mysql_close; Jeg kommer på senere, jeg skal ud at spille fodbold. men jeg håber du kan se fejlen. ellers står alt koden til nyhedsmodulet længere på! - Msira
07. juni 2003 - 14:32
#12
Det ser ud til at tre af dine variabler ikke indeholder noget. Hvor får de en værdi? Gæt: De skulle indeholde værdier direkte fra formen. I så fald, indsæt dette der, hvor du også sætter $dato: $overskrift = $_GET['textfield']; $link = $_GET['textfield2']; $nyhed = ...
07. juni 2003 - 15:01
#13
Hov, ændr "$_GET" til "$_POST". :-)
08. juni 2003 - 00:44
#14
Virker ikke..
08. juni 2003 - 00:45
#15
eller sætter jeg det forkert ind? Hvordan skal min gem.php se ud efter jeg har sat det ind efter din tanke?? - MSira
08. juni 2003 - 09:00
#16
For eksempel sådan her: <? $connection = mysql_connect("xx","xx","xx"); mysql_select_db("xx", $connection); $dato = date('d/m/Y'); $overskrift = $_GET['textfield']; $link = $_GET['textfield2']; $nyhed = ... $sql = "INSERT INTO news (overskrift, link, dato, nyhed) VALUES ('$overskrift', '$link', '$dato', '$nyhed')"; echo "<p>SQL: $sql</p>"; mysql_query($sql) OR DIE (mysql_error()); mysql_close; header("Location: vis.php"); ?> Erstat selv de tre punktummer med det rigtige navn. Og lad være med bare at sige "det virker ikke"! Det kan man ikke bruge til noget. Fortæl hvad der er galt. Hvad sker der?
23. september 2003 - 01:00
#17
Jeg begyndte at lære PHP/MySQL, så jeg lavede et selv.. som virkede som det skulle
23. september 2003 - 01:00
#18
Derfor lukker jeg
Vi tilbyder markedets bedste kurser inden for webudvikling