hallo zusammen,
wenn in mein gästebuch ein user einen eintrag mit "anführungszeichen" schreibt (speicherung auf textbasis), wird immer ein backslash eingebaut.
das gästebuch hat mal jemand aus dem netz für mich erstellt und da ich keine bzw. kaum php erfahrung habe wäre es nett wenn ihr mir da weiterhelfen könnt und es vielleicht sogar gleich einbaut. brauche das nämlich dringend. gerne lese ich mir dann auch die erklärung dazu durch, um wenigstens ein bisschen was zu lernen!
so sieht der code bisher aus:
wenn in mein gästebuch ein user einen eintrag mit "anführungszeichen" schreibt (speicherung auf textbasis), wird immer ein backslash eingebaut.
das gästebuch hat mal jemand aus dem netz für mich erstellt und da ich keine bzw. kaum php erfahrung habe wäre es nett wenn ihr mir da weiterhelfen könnt und es vielleicht sogar gleich einbaut. brauche das nämlich dringend. gerne lese ich mir dann auch die erklärung dazu durch, um wenigstens ein bisschen was zu lernen!
so sieht der code bisher aus:
PHP-Code:
<?php
// Datendatei (Logfile)
$logfile = "gb.log";
// Daten einlesen
$olddata = file($logfile);
for($i=0; $i<count($olddata); $i++)
{
$data[$i] = explode("||", $olddata[$i]);
}
/********************************************************************************
* Gästebuch Speicheraktion
********************************************************************************/
if($_GET['action']=="sichern")
{
//Neue Daten formatieren
$name = str_replace("||", "||", trim($_POST['gbname']));
$email = str_replace("||", "||", trim($_POST['gbemail']));
$homepage = str_replace("||", "||", trim($_POST['gbhomepage']));
$icq = str_replace("||", "||", trim($_POST['icq']));
$kommentar = str_replace("||", "||", trim($_POST['gbkommentar']));
$kommentar = str_replace("\r\n", "<br>", trim($kommentar));
$newdata = $name.'||'.$email.'||'.$homepage.'||'.$kommentar.'||||'. time() .'||'.$_SERVER['REMOTE_ADDR'].'||'.$icq.'||';
$fp = @fopen($logfile, "w");
flock($fp, 2);
fwrite($fp, $newdata."\r\n");
for($i=0; $i<count($olddata); $i++)
{
fwrite($fp, trim($olddata[$i]) ."\r\n");
}
flock($fp, 3);
fclose($fp);
}
// Daten einlesen
$olddata = file($logfile);
for($i=0; $i<count($olddata); $i++)
{
$data[$i] = explode("||", $olddata[$i]);
}
/********************************************************************************
* Gästebuch Formular
********************************************************************************/
if($_GET['action']=="formular")
{
echo "<center><b>Eintragen</b></center><br><br>";
echo "<form name=\"gbform\" action=\"".$_SERVER['PHP_SELF']."?page=guests&action=sichern\" method=\"post\">";
echo "<table border=\"0\" width=\"100%\">";
echo " <tr>";
echo " <td width=\"25%\">Name: </td>";
echo " <td width=\"75%\"><input type=\"text\" name=\"gbname\" value=\"\" size=\"20\"></td>";
echo " </tr>";
echo " <tr>";
echo " <td width=\"25%\">Email: </td>";
echo " <td width=\"75%\"><input type=\"text\" name=\"gbemail\" value=\"\" size=\"20\"></td>";
echo " </tr>";
echo " <tr>";
echo " <td width=\"25%\">Homepage: </td>";
echo " <td width=\"75%\"><input type=\"text\" name=\"gbhomepage\" value=\"\" size=\"20\"></td>";
echo " </tr>";
echo " <tr>";
echo " <td width=\"25%\">ICQ-Nr.:</td>";
echo " <td width=\"75%\"><input type=\"text\" name=\"icq\" value=\"\" size=\"20\"></td>";
echo " </tr>";
echo " <tr>";
echo " <td width=\"25%\" valign=\"top\">Kommentar:</td>";
echo " <td width=\"75%\">
<textarea name=\"gbkommentar\" onFocus=\"storeCaret(this);\" onChange=\"storeCaret(this);\" onSelect=\"storeCaret(this);\" cols=\"35\" rows=\"7\"></textarea></td>";
echo " </tr>";
echo " <tr>";
echo " <td width=\"25%\">";
echo " </td>";
echo " <td width=\"75%\">";
echo "<input type=\"submit\" value=\"Absenden\" size=\"20\">";
echo " <input type=\"reset\" value=\"Löschen\" size=\"20\"></td>";
echo " </tr>";
echo "</table>";
echo "</form>";
echo "<br><br><b>Hinweis:</b> Alle IP-Adressen werden mitgespeichert!";
}
/********************************************************************************
* Gästebucheinträge anzeigen
********************************************************************************/
if(!$_GET['action']){ $_GET['action'] = "anzeigen"; }
if($_GET['action']=="anzeigen" || $_GET['action']=="sichern")
{
if(!$_GET['startnr']) { $_GET['startnr'] = 0; } // Falls kein Startwert vorhanden ist
$until = 30; // Endwert für die Ausgabe (Angezeigte Einträge pro Seite)
echo "<img src=\"kategorie/guests.gif\" border=0><br>";
echo "<p align=\"center\"><a href=\"".$_SERVER['PHP_SELF']."?page=guests&action=formular\">Eintragen</a><hr>";
for($i=$_GET['startnr']*$until; $i<$_GET['startnr']*$until+$until; $i++)
{
if(trim($data[$i][0])!="")
{
$data[$i][0] = htmlspecialchars($data[$i][0]); // Name
$data[$i][1] = htmlspecialchars($data[$i][1]); // Email
$data[$i][2] = htmlspecialchars($data[$i][2]); // Homepage
$data[$i][7] = htmlspecialchars($data[$i][7]); // icq
// User-Kommentar
$temp = explode("<br>", $data[$i][3]);
$data[$i][3] = "";
for($a=0; $a<count($temp); $a++)
{
$data[$i][3] .= htmlspecialchars($temp[$a]);
if($i!=count($temp)-1)
{
$data[$i][3] .= "<br>";
}
}
$data[$i][3] = wordwrap($data[$i][3], 40, "\r\n", 1);
// Admin-Kommentar
$temp = explode("<br>", $data[$i][4]);
$data[$i][4] = "";
for($a=0; $a<count($temp); $a++)
{
$data[$i][4] .= htmlspecialchars($temp[$a]);
if($i!=count($temp)-1)
{
$data[$i][4] .= "<br>";
}
}
$data[$i][5] = date("d.m.Y - H:i:s", $data[$i][5]); // Datum und Zeit
echo "<b><i>";
echo $data[$i][0];
if ($data[$i][1]) {echo " <a href=\"mailto:".$data[$i][1]."\"><img src=\"bilder/email.gif\" border=\"0\"></a> ";}
if ($data[$i][2]) {echo " <a href=\"http://".$data[$i][2]."\" target=\"_blank\"><img src=\"bilder/hp.gif\" border=\"0\"></a> ";}
if ($data[$i][7]) {echo "<a href=\"http://wwp.icq.com/scripts/search.dll?to=".$data[$i][7]."\"><img src=\"http://web.icq.com/whitepages/online?icq=".$data[$i][7]."&img=5\" border=\"0\"></a> ";}
echo "</i> schrieb am ".$data[$i][5]." Uhr:</b><br><br>";
echo $data[$i][3]."";
echo $data[$i][4]."<hr>";
}
}
// Seitenlinks!
echo "<center>";
for($i=0; $i<count($olddata)/$until; $i++)
{
if($i==$_GET['startnr'])
{
echo "<b>[". ($i+1) ."]</b> ";
}
else
{
echo "<a href=\"".$_SERVER['PHP_SELF']."?page=guests&startnr=".$i."\">". ($i+1) ."</a> ";
}
}
}
?>
Kommentar