• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

wo is der fehler? (Syntax error unexpectied ?)

Status
Für weitere Antworten geschlossen.

Frank

Neues Mitglied
Hi, ich hab hier ein kleines Problem,
Ich bekomme folgenden fehler:
Parse error: syntax error, unexpected '?' in /srv/www/httpd/phost/f/com/pytalhost/freets/web/includes/linklist.inc.php on line 15
In diesem Dokument:
PHP:
<p><b>Linkliste</b><br>
<tt><a href="?site=addlink">Dein Link hier</a></tt>
</p>
<p>
<marquee width="130" height="200" direction="up" scrollamount="3" scrolldelay="1" onMouseover="this.ScrollAmount='0';" onMouseout="this.ScrollAmount='3';">
<?
$abfrage = "SELECT * FROM freets_link;
 $ergebnis = mysql_query($abfrage);
 while($row = mysql_fetch_object($ergebnis))
  {
  $linkurl = $row->url;
  $linkname = $row->linkname;
?>
<a href="
<? echo $linkurl; ?>
" target="_blank" class="navi">
<?echo $linkname;?>
</a><br>
<?
  }
?>
</marquee>
</p>

Wo ist der Fehler?
 
Wenn du dir deinen Code noch einmal ansehen würdest (hier, gehighlightet) dann würdest du sofort sehen, dass in Zeile 9 am Ende ein " fehlt.
 
so, hab' das mal korrigiert:

PHP:
<?
$abfrage = "SELECT * FROM freets_link";
 $ergebnis = mysql_query($abfrage);
 while($row = mysql_fetch_object($ergebnis))
  {
  $linkurl = $row->url;
  $linkname = $row->linkname;

echo '<a href="
.'$linkurl'.
" target="_blank" class="navi">
echo .'$linkname;'.
echo '</a><br>';
<?
  }

jetzt sollte alles gehen.

Nils aka XraYSoLo
 
XraYSoLo schrieb:
so, hab' das mal korrigiert:

PHP:
<?
$abfrage = "SELECT * FROM freets_link";
 $ergebnis = mysql_query($abfrage);
 while($row = mysql_fetch_object($ergebnis))
  {
  $linkurl = $row->url;
  $linkname = $row->linkname;

echo "<a href=\"".$linkurl."\" target=\"_blank\" class=\"navi\">";
echo $linkname;
echo "</a><br>";
  }
?>

jetzt sollte alles gehen.

Nils aka XraYSoLo
JETZT sollte alles gehn
 
und sind für php auch viel aufwändiger, xray - deine lösung war "eigtl" sehr viel besser ;)
nur mit dem . operator haperts etwas ;)
 
XraySolos Version war aber falsch. Daher hab ich meine Version gepostet.
Man kann auch statt dem Escapen die einfachen Anführungszeichen benutzen.
 
PHP:
<?php
$abfrage = "SELECT * FROM freets_link";

$ergebnis = mysql_query($abfrage);

while($row = mysql_fetch_object($ergebnis))
{
  $linkurl = $row->url;
  $linkname = $row->linkname;

  echo '<a href="'
    .$linkurl
    .'" target="_blank" class="navi">'
    .$linkname
    .'</a><br>';
}
?>

Man könnte es auch einfach korrigieren und neu posten. aber das wäre wohl zu umständlich.
 
Ja richtig immer kompletten quellcode posten damit auch ja niemand denken brauch.
 
Es ist doch letztendlich egal, da, egal ob Prophet's Version oder meine, beide richtig sind. Macht keinen Sinn so nen Aufstand zu machen.
 
richtig im sinne von "funktioniert" ja. aber mit single quotes ist es halt für programmierer und php selbst einfacher zu handhaben. und bei dir sah es halt so aus wie "single quotes sind falsch", dabei lag es nur am falsch gesetzten Vereinigungs Operator :)
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben