1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Fehler in Gästebuch-Skript

Discussion in 'Web-Know-how für die Homepage' started by Marco89, Feb 7, 2007.

Thread Status:
Not open for further replies.
  1. Marco89

    Marco89 ROM

    Hi Leute

    Ich habe mir ein kleines, einfaches Gästebuch geschrieben mit php und habe es auf meine Page geladen. Doch ich habe ein Problem damit. Wenn ich das Formular abschicken will kommt die Meldung "Fehler beim abschicken" (habe ich selber als Error definiert).

    Der Quellcode sieht folgendermassen aus:
    gästebuch.php
    Code:
    <html>
    <head>
    <LINK rel="stylesheet" href="style.css" type="text/css">
    </head>
    <body background="imgs/bg.jpg" link="00ffff" vlink="3333ff" alink="00ffff">
    <center>
    <table border=0 cellspacing=4 class=main cellpadding=4 width=600 background="imgs/bg2.jpg">
    <tr>
    <td>
    <h4>G&auml;stebuch</h4>
    <form action="eintrag-einfuegen.php" method="post">
    <table border="0">
     <tr>
      <td><p>Name</p></td>
      <td><input name="Name" maxlength="50" type="text"></td>
     </tr>
     <tr>
      <td><p>E-Mail:</p></td>
      <td><input maxlength="40" name="Mail" type="text"></td>
     </tr>
     <tr>
      <td><p>Eintrag:</p></td>
      <td><textarea cols="30" name="Eintrag" rows="5"></textarea></td>
     </tr>
     <tr>
      <td align="center" colspan="2">
      <input name="Send" type="submit" value="Eintragen">
      <input name="Reset" type="reset" value="L&ouml;schen">
      </td>
     </tr>
    </table>
    </form>
    <?php
    
    $ErgebnisseProSeite = 10;
    
    $DatabasePointer=mysql_connect("localhost", "web124", "PASSWORT");
    mysql_select_db("usr_web124_2", $DatabasePointer);
    
    if(!isset($_REQUEST['AktuelleSeite']))
    {
    	$AktuelleSeite=0;
    }
    else
    {
    	$AktuelleSeite=$_REQUEST['AktuelleSeite'];
    }
    
    $ResultPointer=mysql_query("SELECT * FROM Gaestebuch ORDER BY Datum DESC LIMIT $AktuelleSeite, $ErgebnisseProSeite", $DatabasePointer);
    $Anzahl=mysql_num_rows(mysql_query("SELECT * FROM Gaestebuch ORDER BY Datum DESC", $DatabasePointer));
    
    echo"<table border=\"0\">";
    for($i=0; $i<mysql_num_rows($ResultPointer); $i++)
    {
    	$Gaestebuch=mysql_fetch_object($ResultPointer);
    	echo"<tr>",
    		"<td><b>",
    		$Gaestebuch->Mail,
    		"</b></td>",
    		"</tr>",
    		"<tr>",
    		"<td>",
    		nl2br($Gaestebuch->Eintrag),
    		"</td>",
    		"</tr>",
    		"<tr>",
    		"<td>Eintrag von <b>",
    		$Gaestebuch->Name,
    		"</b> am <b>",
    		substr($Gaestebuch->Datum, 8, 2),
    		".",
    		substr($Gaestebuch->Datum, 5, 2),
    		".",
    		substr($Gaestebuch->Datum, 0, 4),
    		" ",
    		substr($Gaestebuch->Datum, 10),
    		"</b></td>",
            "</tr>",
            "<tr>",
    		"<td><hr></td>",
    		"</tr>";
    }
    echo "</table>";
    
    if($Anzahl>$ErgebnisseProSeite)
    {
    	$Seiten=intval($Anzahl/$ErgebnisseProSeite);
    	if($Anzahl%$ErgebnisseProSeite)
    	{
    		$Seiten++;
    	}
    	echo"Seite ";	
    }
    for($i=1; $i<=$Seiten; $i++)
    {
    	echo"<a href=\"gaestebuch.php?AktuelleSeite=",
    		($i-1)*$ErgebnisseProSeite,
    		"\">$i</a>&nbsp;";
    }
    
    ?>
    </td>
    </tr>
    </table>
    </center>
    </div>
    </body>
    </html>
    Und die Datei:
    Add-Post.php
    Code:
    <html>
    <head>
    <LINK rel="stylesheet" href="style.css" type="text/css">
    </head>
    <body background="imgs/bg.jpg" link="00ffff" vlink="3333ff" alink="00ffff">
    <center>
    <table border=0 cellspacing=4 class=main cellpadding=4 width=600 background="imgs/bg2.jpg">
    <tr>
    <td>
    <?php
    
    $DatabasePointer=mysql_connect("localhost", "web124", "PASSWORT");
    mysql_select_db("usr_web124_2", $DatabasePointer);
    
    $SQL = "INSERT INTO Gaestebuch (Datum, Name, Mail, Eintrag) VALUES (NOW(''), '".$_REQUEST['Name']."', '".$_REQUEST['Mail']."', '".$_REQUEST['Eintrag']."')";
    mysql_query($SQL, $DatabasePointer);
    
    if(mysql_affected_rows($DatabasePointer)==1)
    {
    ?>
    <p>Vielen Dank f&uuml;r Ihren Eintrag!</p><br>
    <a href="gaestebuch.php">Zum G&auml;stebuch</a>
    <?php
    }
    else
    {
    ?>
    <p>Beim Eintragen ist ein Fehler aufgetreten.</p><br>
    <a href="javascript:history.back();">Zur&uuml;ck</a>
    <?php
    }
    ?>
    </body>
    </html>
    Kann mir jemand sagen was falsch sein könnte???
     
  2. enschman

    enschman Megabyte

    Ich hab mir jetz nicht alles durchgelesen, aber dein GB lässt Injections zu...

    mfg Tenschman
     
  3. Marco89

    Marco89 ROM

    Sollte sowieso erstmal nur eine Art Test sein...
    Falls jemand den Fehler bemerkt bitte melden..

    Mfg Marco
     
  4. enschman

    enschman Megabyte

    BTW: Das könnte der Fehler sein... füg doch mal addslashes($die_variable_hier) ein...

    mfg Tenschman
     
Thread Status:
Not open for further replies.

Share This Page