Kurze Hilfe: Url-Übernahme

nordi

Erfahrenes Mitglied
Hallo Leute, hab ein kleines Problem mit meinem Gästebuch. Im Formular kann man seine Homepage eingeben, die dann wiederrum ausgegeben wird..aber irgendwie ist da ein Fehler drinnen, den ich nicht entdecke..vielleicht sehr ihr ihn ja:

PHP:
echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
  <tr> 
    <td width=\"27%\">".(($mail=="")?"$name ":"<a href=\"mailto:$mail\">$name</a>")." 
      schrieb : &nbsp;</td>
    <td width=\"73%\"> 
      <div align=\"left\"> <b>$titel</b> am $zeitausgabe um $zeit1 h</div>
    </td>
  </tr>
  <tr> 
    <td width=\"27%\"><br>
      ".(($url=="")?" ":"(<a href=$url>url</a>)")."<br>
      ".(($icq=="")?" ":"<a href=http://wwp.icq.com/scripts/search.dll?to=$icq><img src=http://wwp.icq.com/scripts/online.dll?icq=$icq&img=5 border=0></a>")."<br>
    </td>
    <td width=\"73%\"> 
      <div align=\"left\">$eintrag</div>
    </td>
  </tr>
  <tr> 
    <td width=\"27%\">&nbsp; </td>
    <td width=\"73%\">&nbsp;</td>
  </tr>
  <tr> 
    <td width=\"27%\"></td>
    <td width=\"73%\"></td>
  </tr>
</table>
<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"> 
  <tr>
    <td><br>-------------------------------------------------------<br><br></td>
  </tr>
</table>";

Der Fehler muss irgendwo bei ".(($url=="")?" ":"(<a href=$url>url</a>)")." liegen. Wenn man beispielsweise als url http://www.gmx.de eingibt und dann bei der ausgabe auf den link "url" klickt wird ausgebeben:

http://www.stokesdesign.de/hosted/tymssv2/main/www.gmx.de

danke schonmal im vorraus

Marius
 
Die Zeichenkette www.gmx.de ist auch kein kompletter URL, denn das Schema (z. B. http) und der schemaspezifische Teil (im Fall des HTTP-Schemas //) sowie das trennende Semikolon fehlen: http://www.gmx.de
 
wie könnte ich das machen, wenn jemand die url eintippt, und das http:// vergisst, daß das skript automatisch diesen fehlenden tag generiert? müsste doch möglich sein, oder?
 
Am besten irgendwo davor, denn das ersetzt den Wert in der Variable und Du brauchst danach nur noch ausgeben. Bei der Ausgabe hast Du dann das http:// dabei, ob der User es nun eingegeben hat oder nicht.
 
Probier mal Folgendes: (($url=='') ? ' ' : '(<a href="'.(!strstr($url, 'http://') ? 'http://'.$url : $url).'">url</a>)')
 
Zurück