hoi,
also, ich hab folgendes problem nämlich das man in meinem gästebuch
html code ausführen kann... hat jemand ne ahnung wie man das unterbinden kann.... hier mal der code:
also, ich hab folgendes problem nämlich das man in meinem gästebuch
html code ausführen kann... hat jemand ne ahnung wie man das unterbinden kann.... hier mal der code:
PHP:
<?
include ("inc/conf_gb.inc");
?>
<body bgcolor="#FFFFFF" text="#000000" link="#FF0000" vlink="#FF0000" alink="#FF0000">
<table width="100%" border="0" cellspacing="0" cellpadding="0" align="left">
<tr>
<td bgcolor="a0c1d5" width="100%">
<table width="100%">
<tr>
<td bgcolor="#FFFFFF"><font color="#FF0000" size="1">
<?
if ($action=="neu" or $error=="error") {
echo "<a href='index.php?style=book'>back to guestbook</a>";
}else{
echo "<a href='index.php?style=book&action=neu'>sign in my guestbook</a>";
}
?>
</font><b> </b> </td>
<td align="right" bgcolor="a0c1d5"><font size="1"> <b><a href="admin" target="blank"><font color="#FF0000" face="Verdana, Arial, Helvetica, sans-serif" size="1">admin</font></a></b>
</td>
</tr>
</table>
</font>
</td>
</tr>
<tr>
<td width="100%" bgcolor="eef6fb">
<?php
function url_check($text)
{
$ret = " " . $text;
$ret =preg_replace("#([\n ])([a-z]+?)://([a-z0-9\-\.,\?!%\*_\#:;~\\&$@\/=\+]+)#i","\\1<a href=\"\\2://\\3\" target=\"_blank\">\\2://\\3</a>", $ret);
$ret = preg_replace("#([\n ])www\.([a-z0-9\-]+)\.([a-z0-9\-.\~]+)((?:/[a-z0-9\-\.,\?!%\*_\#:;~\\&$@\/=\+]*)?)#i", "\\1<a href=\"http://www.\\2.\\3\\4\"target=\"_blank\">www.\\2.\\3\\4</a>", $ret);
$ret =preg_replace("#([\n ])([a-z0-9\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)?[\w]+)#i","\\1<a href=\"mailto:\\2@\\3\">\\2@\\3</a>", $ret);
$ret = substr($ret, 1);
return($ret);
}
$conn_id = mysql_connect($host,$id,$pw);
mysql_select_db($database,$conn_id);
if ($action=="save") {
if ($name==""){
$errorname="1";
$error="error";
$falsch="error";
}
if ($email != ""){
if (eregi("^[0-9A-Za-z]([-_.+]?[0-9A-Za-z])*@[0-9A-Za-z]([-.]?[0-9A-Za-z])*\\.[a-zA-Z]{2,7}$", $email)) {
//alles richtig
}else{
$errormail="1";
$error="error";
}
}
if ($inhalt==""){
$errorinhalt="1";
$error="error";
$falsch="error";
}
if ($error=="error"){
$action="neu";
}
if ($action=="save"&&$error=="") {
$datum = time();
$inhalt = $inhalt;
$name = ($name) ? $name : "unknown";
mysql_query("insert into $table (name,email,open,hp,inhalt,datum) VALUES ('$name','$email','$open','$hp','$inhalt','$datum')");
}
}
echo "<font size='1' face='Verdana, Arial, Helvetica, sans-serif'><br>";
//Fehler Auagabe
if($action=="neu") {
if($errormail=="1"){
echo $emailfrong."<br>";
}
if($falsch!=""){
echo $not_filled."<br>";
}
if($errorname=="1"){
echo "<b>name, </b>";
}
if($errorinhalt=="1"){
echo "<b>message</b>";
}
if($error!=""){
echo "<br><br>";
}
// Hier beginnt die HTML Ausgabe
?>
<table cellpadding="0" border="0" cellspacing="0" width="100%" bgcolor="eef6fb" align="left">
<form action="<?php echo 'index.php?style=book' ?>" method=post>
<tr>
<td valign="top" width="75"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">name:*</font></td>
<td> <font size="1">
<input type=text name=name <? if(isset($name)) echo "value='$name'";?> size="30">
</font></td>
</tr>
<tr>
<td valign="top"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">mail:</font></td>
<td> <font size="1">
<input type=TEXT name=email <? if(isset($email)) echo "value='$email'";?> size="30">
</font></td>
</tr>
<tr>
<td valign="top"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Site:</font>
</td>
<td> <font size="1">
<input type=text name=hp <? if(isset($hp)) echo "value='$hp'";?> value="http://" size="30">
</font></td>
</tr>
<tr>
<td valign="top"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">message:*</font></td>
<td> <font size="1">
<textarea name="inhalt" rows="6" cols="35" ><? if(isset($inhalt)) echo "$inhalt";?></textarea>
</font></td>
</tr>
<tr>
<td valign="top" colspan="2"> <font size="1" face="Verdana, Arial, Helvetica, sans-serif">
<input type=checkbox name=open checked value=1>
show email in the guestbook<br>
<br>
* müssen ausgefüllt werden </font> </td>
</tr>
<tr>
<td valign="top"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><br>
<input type=submit value="sign in" >
</font></td>
<td> <font size="<? echo $font_size; ?>"><br>
<br>
<br>
</font></td>
<input type="hidden" name="action" value="save">
</form>
</table>
<?php
}else{
// Guckt ob es Mehrere Seiten sind
if (!isset($Anfangsposition)) {
$Anfangsposition = 0;
}
$sql="select * from $table "." limit $Anfangsposition,$Zeilen_pro_Seite";
$result=mysql_query($sql);
$result1=mysql_query("select Count(nr) AS nr from $table");
// $Anzahl=mysql_num_rows($result1);
$Anzahl=mysql_fetch_array($result1);
$Anzahl = $Anzahl["nr"];
while ($row=mysql_fetch_array($result)) {
if($Anzahl>$Zeilen_pro_Seite) {
$Seiten=intval($Anzahl/$Zeilen_pro_Seite);
if($Anzahl%$Zeilen_pro_Seite) {
$Seiten++;
}
}
for ($i=1;$i<=$Seiten;$i++) {
$fwd=($i-1)*$Zeilen_pro_Seite;
$fwdanzeige=($fwd/10+1);
if($fwd == $Anfangsposition){
echo "<a href=\"book.php?Anfangsposition=$fwd\"><img src='./img/seite2.gif' border='0' alt='page $fwdanzeige';></a>";
}else{
echo "<a href=\"book.php?Anfangsposition=$fwd\"><img src='./img/seite.gif' border='0' alt='page $fwdanzeige';></a>";
}
}
echo "<br><br>";
// Ausgabe aller Einträge aus dem Gästebuch
$query = "select * from $table order by datum desc limit $Anfangsposition,$Zeilen_pro_Seite";
$result = mysql_query($query);
if (mysql_num_rows($result)) {
while($row=mysql_fetch_array($result)) {
$name = $row['name'];
$open = $row['open'];
$email = $row['email'];
$hp = $row['hp'];
$inhalt = $row['inhalt'];
$kommentar = $row['kommentar'];
$datum = date("d.m.y",$row['datum']);
//Formatieren das Textes
$inhalt_fastfertig = nl2br($inhalt);
$name = "$name ";
$name_lange = strpos($name," ");
if ($name_lange > "10"){
$name_fertig = chunk_split("$name",10,"-<BR>");
}else{
$name_fertig = $name;
}
$inhalt_fertig = wordwrap( $inhalt_fastfertig,40," ",1);
$inhalt_komplett = url_check($inhalt_fertig);
//Ende Formatieren
echo "<table bgcolor='a0c1d5' width='100%' border='0' cellspacing='0' cellpadding='0'>\n<td class='' width='100' valign='top'>\n<font size='1'>\n";
echo "<b>$name_fertig</b><br>\n";
if($open && $email) {
echo "<a href='mailto:$email'><img src='./img/mail.gif' width='16' height='16' border='0' alt='$email'></a> \n";
}else{ echo "\n";
}
if($hp==""){
echo "<br>\n";
}elseif($hp=="http://"){
echo "<br>\n";
}else{
echo "<a href='$hp' target='_blank'><img src='./img/www.gif' width='16' height='16' border='0' alt='$hp'></a><br>\n";
}
echo "<td class='' width='350' valign='top'>\n<font size='1'>\n";
echo " ".$inhalt_komplett;
if($kommentar) echo "<i><br><br><b>Webmaster comment:</b><br>\n ".$kommentar."<br></i>\n";
flush();
echo "</font>\n</font>\n</td></td>\n</table><br>";
}
} else {
echo "Bis jetzt gab es keine Einträge";
}
}
}
// Ende
?>
</td>
</tr>
</table>