webForumDet fria alternativet

Hjälp med ett Parse error igen...

3 svar · 496 visningar · startad av B22

B22Medlem sedan mars 2004256 inlägg
#1

Felet: Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /customers/ukf.be/ukf.be/httpd.www/gastbok.php on line 15

Får jag när jag testar denna sidan. Där rad 15 är:

echo ' <tr border="1" bgcolor="#A9A9A9" ><td>$r[namn]</td><td>$r[datum]</td><td>
<a href='mailto:$r[epost]'>Epost</a> - <a href='$r[hemsida]' onclick='window.open(this.href);return false;'>Hemsida</a></td></tr> ';

Koden till sidan är:

<?php
session_start();

include("config.php");

//hämtar inläggen från databasen
$getposts = mysql_query("SELECT * FROM Gastbok ORDER BY id DESC LIMIT 10");
echo(mysql_error());

while($r=mysql_fetch_array($getposts)){

echo ' <div id="tabell"> ';
echo ' <table  bgcolor="#CC9999" width="400px">'; 
echo ' <tr border="1" bgcolor="#A9A9A9" ><td>$r[namn]</td><td>$r[datum]</td><td><a href='mailto:$r[epost]'>Epost</a> - <a href='$r[hemsida]' onclick='window.open(this.href);return false;'>Hemsida</a></td></tr> ';

      echo "<tr><td> $r[meddelande]</td></tr>";
      echo '<div><hr width="300px" align="center" ></hr></div>';

    echo" </table>
    <br />
    </div>";
}

if(!isset($_POST[mess])){

    echo  "<form method='post' name='form'>
            Namn:<br /> <input type='text' name='namn' maxlength='50'> <br />
            Hemsida:<br /><input type='text' name='url' value='http://' maxlength='100'><br />
            Epost:<br /> <input type='text' name='epost' value='http://' maxlength='100'><br />
            Meddelande:<br /> <textarea name='content' wrap='physical' cols='30' rows='10'></textarea><br /><br />
            Svara på följande fråga för att kunna skicka ditt inlägg:<br /><br /><br /> 
           Vad har en banan för färg?<br /><input type='text' name='spam' maxlength='100'><br /><br />
            <input type='submit' name='mess' value='Skicka inlägget'>
           </form>"; 
        }

if($_POST[mess])
{

    $namn = mysql_real_escape_string($_POST['namn']);
    $url = mysql_real_escape_string($_POST['url']); 
    $epost = mysql_real_escape_string($_POST['epost']); 
    $meddelande = mysql_real_escape_string($_POST['content']); 
    $spam = mysql_real_escape_string($_POST['spam']);

       
    if($namn == NULL || $meddelande == NULL || $spam == Null){
               print "Namn, meddelnade eller svar på kontroll frågan saknas.<br/>Vänligen försök igen!<br/><br/><input type='button' value='Tillbaka' onClick='history.back()'/>";
        exit;
    }if (($spam != "Gul") && ($spam != "gul") && ($spam != "GUL")){ //spam kontroll mot robotar
       
           print "Felaktigt svar på kontroll frågan, vänligen försök igen!<br/><br/><input type='button' value='Tillbaka' onClick='history.back()'/>";
     
    }else{
        $sql = mysql_query("INSERT INTO Gastbok (namn, hemsida, epost, meddelande, datum) VALUES ('$namn', '$url', '$epost', '$meddelande', '$date')");
echo(mysql_error());

        echo "<script type=\"text/javascript\">window.location.href=window.location.href;</script>";
        }
}
?>

Ser någon vad felet är?

PeddaMedlem sedan juni 20006 032 inlägg
#2
echo ' <tr border="1" bgcolor="#A9A9A9" ><td>$r[namn]</td><td>$r[datum]</td><td>
<a href="mailto:$r[epost]">Epost</a> - <a href="$r[hemsida]" onclick="window.open(this.href);return false;">Hemsida</a></td></tr>';

r/ glömde ju skriva lite också.

Om du omsluter din echo med ' så kan du inte ha ' inne i echo´n också. Då tror php att du avslutar din sträng.

fiddlerMedlem sedan juli 20023 617 inlägg
#3
echo '<tr border="1" bgcolor="#A9A9A9" ><td>'.$r['namn'].'</td><td>'.$r['datum'].'</td><td><a href="mailto:'.$r['epost'].'">Epost</a> - <a href="'.$r['hemsida'].'" onclick="window.open(this.href);return false;">Hemsida</a></td></tr>';

Pedda har helt rätt. Du måste dessutom bryta din sträng för att skriva ut array-värdena.

B22Medlem sedan mars 2004256 inlägg
#4

fiddler skrev:

echo '<tr border="1" bgcolor="#A9A9A9" ><td>'.$r['namn'].'</td><td>'.$r['datum'].'</td><td><a href="mailto:'.$r['epost'].'">Epost</a> - <a href="'.$r['hemsida'].'" onclick="window.open(this.href);return false;">Hemsida</a></td></tr>';

Pedda har helt rätt. Du måste dessutom bryta din sträng för att skriva ut array-värdena.

Tack för så snabba svar! Så snällt av er.

Jag kan se resultatet av arrayen nu också utan att ändra i koden som du har skrivit, vad beror det på?

r/
Oj du har rätt, efter ändringen så gick det inte arr se innehållet, men nu stämmer det. Tack tack!

130 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)