Link aus msql hole

Shakari

Grünschnabel
Hallo an alle,

hab da ein kleine problem wie der titel ja schon sagt will ich ein link aus einer msqldb holen, was soweit auch funktioniet.

PHP:
//abfrage der msql
$sql = "SELECT link_id, link, titel, beschreibung FROM link ORDER by link_id";
        $ergebnis = mysql_query($sql) OR die("Query: <pre>".$sql."</pre>\n"."Antwoertchen: ".mysql_error());

//ausgabe des links
echo "<td width=\"250\"valign=\"middle\" align=\"center\"><a href=\"".$var=$zeile['link']."\" target=\"_blank\">".$var=$zeile['link']."</a></td>";

nun kommt aber mein problem, wenn ich denn link nun anklicke kommt springt der browser nicht auf http://www.wasweissich.de sondern http://www.meine-domain.de/ornder/www.wasweissich.de

hier noch mal der kommplette quelltext
PHP:
<?php
        echo "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";
		$sql = "SELECT link_id, link, titel, beschreibung FROM link ORDER by link_id";
        $ergebnis = mysql_query($sql) OR die("Query: <pre>".$sql."</pre>\n"."Antwoertchen: ".mysql_error());
        $nr=0;
        while ($zeile = mysql_fetch_array($ergebnis))
        {
		$nr++;
		if($nr % 2 == 0) { $bg_color = "#6E6E6E"; $mouseover="#F2F2F2"; } else {$bg_color = "#848484"; $mouseover="#F2F2F2"; } 
		echo "<tr height=\"25\" bgColor='$bg_color' onMouseOver=\"this.bgColor='$mouseover'\" onMouseOut=\"this.bgColor='$bg_color'\">";
		echo "<td width=\"20\" valign=\"middle\" align=\"center\">&nbsp;</td>";
		echo "<td width=\"150\"valign=\"middle\" align=\"center\">".$var=$zeile['titel']."</td>";
		echo "<td width=\"250\"valign=\"middle\" align=\"center\"><a href=\"".$var=$zeile['link']."\" target=\"_blank\">".$var=$zeile['link']."</a></td>";
		echo "<td width=\"45\"valign=\"middle\" align=\"center\">";
        echo "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"45\">";
        echo "<tr>";
        echo "<td width=\"5\" valign=\"middle\" align=\"center\"></td>";
        echo "<td width=\"20\" valign=\"middle\" align=\"center\">";
        echo "<a href=\"javascript:toggle('".$var=$zeile['link_id']."')\" id=\"kommentar_link\" title=\"Nutzer bearbeiten.\"><div class=\"user_edit\">";
        echo "</td>";
        echo "<td width=\"20\" valign=\"middle\" align=\"center\">";
        echo "<a href=\"index.php?load=admin_link_delete&link_id=".$var=$zeile['link_id']."\" title=\"Link löschen!\"><div class=\"user_delete\">";
        echo "</td>";
        echo "</tr>";
        echo "</table>";
		
		echo "</td>";
        echo "</tr>";
		echo "<tr>";
        echo "<td colspan=\"4\" align=\"center\">";
		echo "<div id=\"".$var=$zeile['link_id']."\" style=\"display: none; border: 2px solid #848484; padding:5px;\">";
        echo "<form class=\"formular\" name=\"formular\" id=\"demo_form\" action=\"index.php?load=admin_link_edit\" method=\"post\" accept-charset=\"ISO-8859-1\">";
        echo "<table width=\"50%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
		echo "<tr>";
        echo "<td>Titel:&nbsp;</td>";
		echo "<td colspan=\"2\"><input type=\"text\" name=\"titel\" value=".$var=$zeile['titel']."></td>";
        echo "</tr>";
		echo "<tr>";
        echo "<td valign=\"top\">Beschreibung:&nbsp;</td>";
		echo "<td colspan=\"2\"><textarea rows=\"5\" cols=\"30\" name=\"beschreibung\">".$var=$zeile['beschreibung']."</textarea></td>";
        echo "</tr>";
		echo "<tr>";
        echo "<td>Link:&nbsp;</td>";
        echo "<td><input type=\"text\" name=\"adresse\" value=".$var=$zeile['link']."></td>";
		echo "<td align=\"center\"><input type=\"submit\" style=\"width:90px;height:20px;font-size:8pt;\" name=\"Abschicken\" value=\"Eintragen\"></td>";
        echo "</tr>";
		echo "</form>";
        echo "</td>";
        echo "</tr>";
        echo "</table>";
        echo "</div>";
		}
        echo "</td>";
        echo "</tr>";
        echo "</table>";
		?>

wäre net schlecht wenn mir mal wer nen denk anstoss geben könnt

mfg shakari
 
Das wird das sein, was in der Tabelle steht.
PHP:
var_dump($ergebnis);

// Was soll das sein? Das ist eine Zuweisung, keine Anzeige.
$var=$zeile['link'];
 
Du kannst das ganze wie folgt lösen:

PHP:
if (ereg("http://", $zeile['link'])) {
$HP_LINK = "<a target=\"_blank\" href=\"".htmlentities($zeile['link'])."\">".htmlentities($zeile['link'])."</a>";
} else {
$HP_LINK = "<a target=\"_blank\" href=\"http://".htmlentities($zeile['link'])."\">http://".htmlentities($zeile['link'])."</a>";
}
echo "<td width=\"250\"valign=\"middle\" align=\"center\">".$HP_LINK."</td>";


Damit überprüfst du ob der Link mit "http://" eingefügt wurde, wenn das nicht der Fall ist dann setzt er dir das davor. Ist es davor geschrieben, dann lässt er den Link unangetastet.

Und mach überall mal dein "$var=" weg, damit weißt du der Variablen "var" nur immer wieder einen anderen Wert zu aber gibst diesen nicht aus.

Achja und am Ende deines Quelltextes sind der schließende </td> und </tr> hinter der geschweiften Klammer, das solltest du noch in die Klammern setzen. Ok da waren noch mehr Fehler drin! Ich habe ihn dir mal komplett bereinigt...

PHP:
<?php
    echo "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";
    $sql = "SELECT link_id, link, titel, beschreibung FROM link ORDER by link_id";
    $ergebnis = mysql_query($sql) OR die("Query: <pre>".$sql."</pre>\n"."Antwoertchen: ".mysql_error());
    $nr=0;
    while ($zeile = mysql_fetch_array($ergebnis)) {
        $nr++;
        if($nr % 2 == 0) {
            $bg_color = "#6E6E6E";
            $mouseover="#F2F2F2";
        } else {
            $bg_color = "#848484";
            $mouseover="#F2F2F2"; 
        }
        if(ereg("http://", $zeile['link'])) {
            $HP_LINK = "<a target=\"_blank\" href=\"".htmlentities($zeile['link'])."\">".htmlentities($zeile['link'])."</a>";
        } else {
            $HP_LINK = "<a target=\"_blank\" href=\"http://".htmlentities($zeile['link'])."\">http://".htmlentities($zeile['link'])."</a>";
        } 
        echo "<tr height=\"25\" bgColor='$bg_color' onMouseOver=\"this.bgColor='$mouseover'\" onMouseOut=\"this.bgColor='$bg_color'\">";
        echo "<td width=\"20\" valign=\"middle\" align=\"center\">&nbsp;</td>";
        echo "<td width=\"150\"valign=\"middle\" align=\"center\">".$zeile['titel']."</td>";
        echo "<td width=\"250\"valign=\"middle\" align=\"center\">".$HP_LINK."</td>";
        echo "<td width=\"45\"valign=\"middle\" align=\"center\">";
        echo "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"45\">";
        echo "<tr>";
        echo "<td width=\"5\" valign=\"middle\" align=\"center\"></td>";
        echo "<td width=\"20\" valign=\"middle\" align=\"center\">";
        echo "<a href=\"javascript:toggle('".$zeile['link_id']."')\" id=\"kommentar_link\" title=\"Nutzer bearbeiten.\"><div class=\"user_edit\">";
        echo "</td>";
        echo "<td width=\"20\" valign=\"middle\" align=\"center\">";
        echo "<a href=\"index.php?load=admin_link_delete&link_id=".$zeile['link_id']."\" title=\"Link löschen!\"><div class=\"user_delete\">";
        echo "</td>";
        echo "</tr>";
        echo "</table>";
        echo "</td>";
        echo "</tr>";
        
        echo "<tr>";
        echo "<td colspan=\"4\" align=\"center\">";
        echo "<div id=\"".$zeile['link_id']."\" style=\"display: none; border: 2px solid #848484; padding:5px;\">";
        echo "<form class=\"formular\" name=\"formular\" id=\"demo_form\" action=\"index.php?load=admin_link_edit\" method=\"post\" accept-charset=\"ISO-8859-1\">";
        echo "<table width=\"50%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
        echo "<tr>";
        echo "<td>Titel:&nbsp;</td>";
        echo "<td colspan=\"2\"><input type=\"text\" name=\"titel\" value=".$zeile['titel']."></td>";
        echo "</tr>";
        echo "<tr>";
        echo "<td valign=\"top\">Beschreibung:&nbsp;</td>";
        echo "<td colspan=\"2\"><textarea rows=\"5\" cols=\"30\" name=\"beschreibung\">".$zeile['beschreibung']."</textarea></td>";
        echo "</tr>";
        echo "<tr>";
        echo "<td>Link:&nbsp;</td>";
        echo "<td><input type=\"text\" name=\"adresse\" value=".$zeile['link']."></td>";
        echo "<td align=\"center\"><input type=\"submit\" style=\"width:90px;height:20px;font-size:8pt;\" name=\"Abschicken\" value=\"Eintragen\"></td>";
        echo "</tr>";
        echo "</table>";
        echo "</form>";
        echo "</div>";
        echo "</td>";
        echo "</tr>";
    }
    echo "</table>";
?>
 
Zuletzt bearbeitet:
okay danke Domi kannst du mir noch sagen wie ich die warnung "Delimiter must not be alphanumeric or backslash " weg bekomme die er mir jetzt ausgibt

Nachtrag*hat sich erledigt*
 
Zuletzt bearbeitet:
Zurück