einbind Problem

Hier werden Probleme rund um das Rechen Captcha behandelt

Moderator: frameguard

einbind Problem

Beitragvon MaTzE1337 » 20.05.2007, 16:51

Hey,

hab nen Problem mit dem Einbinden,
also das RechenFeld ist da...
aber er macht einfach nichts...

Euch wird auffallen das es zweimal Result gibt, daher habe ich dem Captcha ein result>t< mit zwei T gegeben (habe es auch in der rechen-captcha.php geändert)
Aber er macht garnix :/

Hoffe mir kan wer helfen...

Code: Alles auswählen
<?php

  $dbserver     = "localhost";
    $dbname     = "nix";
    $dbuser     = "da";
    $dbpass        = "^^";

$beitraege    = 5;

?>
<?

if (!isset($aktion))
{
    $aktion = "show";
}
if (!isset($seite))
{
    $seite = 1;
}
if ($aktion == "show")
{
    echo"<html>".
        "<head>".
                "</head>".
        "<body>";
    $conn =  mysql_connect($dbserver,$dbuser,$dbpass);
     mysql_select_db($dbname,$conn);
    $anfang = ($seite-1)*$beitraege+1;
    $ende = $anfang+$beitraege-1;
    $query = "SELECT * FROM gb ORDER BY datum DESC";
    $result =  mysql_query($query,$conn);
    $gesamt =  mysql_num_rows($result);
    if ($gesamt == 0)
        {
            echo "Keine Beiträge vorhanden !";
        }
    $counter = 1;
    if ($ende > $gesamt) { $ende = $gesamt; }
    echo"<table cellspacing=\"2\" cellpadding=\"2\" border=\"1\" align=\"center\">";
    while ($zeileholen =  mysql_fetch_array($result,MYSQL_ASSOC))
        {
            if (($counter >= $anfang) AND ($counter <= $ende))
                {
                    echo"<tr width=\"220\">".
                            "<td>von : ". stripslashes($zeileholen["name"]).
"<br>eMail : ". stripslashes($zeileholen["email"]).
"<br>Homepage : ". stripslashes($zeileholen["www"]).
"<br>".
"</td>".
"<td width=\"500\">". stripslashes( nl2br( htmlentities($zeileholen["beitrag"])))."</td>".
"<td>am :".$zeileholen["datum"]."</td>".

                        "</tr>";
                }
            $counter++;
        }
    echo "<tr><td>";
    if ($seite == 1)
        {
            echo"&nbsp;";
        }
    else
        {
             echo"<a href=\"gb.php?aktion=show&seite=".($seite-1)."\">zurück</a>";
        }
    echo"</td><td><a href=\"gb.php?aktion=edit\">neuer Beitrag</a></td><td>";
    if ($ende >= $gesamt)
        {
            echo"&nbsp;";
        }
    else
        {
             echo"<a href=\"gb.php?aktion=show&seite=".($seite+1)."\">weiter</a>";
        }   
    echo "</td></tr>";   
    echo"</table>";           
}

if ($aktion == "edit")
{

    echo"<html>".
        "<head>".
                "</head>".
        "<body>";
    echo"Neuer Beitrag schreiben :";
    echo"<form action=\"gb.php?aktion=insert\" method=\"post\">".
    "<table border=\"0\">".
        "<tr>".
                  "<td width=\"160\">Name : </td>".
                "<td><input type=\"text\" name=\"name\" size=\"30\" maxlength=\"50\"></td>".
        "</tr>".
        "<tr>".
                  "<td>eMail : </td>".
                "<td><input type=\"text\" name=\"email\" size=\"30\" maxlength=\"50\"></td>".
        "</tr>".
        "<tr>".
                "<td>Homepage :</td>".
                "<td><input type=\"text\" name=\"www\" size=\"30\" maxlength=\"100\"></td>".
        "</tr>".
        "<tr>".
                  "<td>Beitrag :</td>".
                  "<td><textarea cols=\"70\" rows=\"20\" name=\"beitrag\"></textarea></td>".
        "</tr>".
        "<tr>".
"<tr>".
"<td><img src=\"rechen-captcha.php\" border=\"0\" title=\"Sicherheitscode\"></td>".
"<td><input type=\"text\" name=\"sicherheitscode\" size=\"5\"></td>".
"</tr>".
            "<td><input type=\"submit\" name=\"sub\" value=\"Eintragen\"></td>".
            "<td><input type=\"reset\" name=\"res\" value=\"Reset\"></td>".
        "</tr>".
    "</table>".
    "</form>";
}

[b]if ($aktion == "insert")
{

session_start();
function encrypt($string, $key) {
$resultt = '';
for($i=0; $i<strlen($string); $i++) {
   $char = substr($string, $i, 1);
   $keychar = substr($key, ($i % strlen($key))-1, 1);
   $char = chr(ord($char)+ord($keychar));
   $resultt.=$char;
}
return base64_encode($resultt);
}
$sicherheits_eingabe = encrypt($_POST["sicherheitscode"], "29jfkd921");
$sicherheits_eingabe = str_replace("=", "", $sicherheits_eingabe);
if(isset($_SESSION['rechen_captcha_spam']) AND $sicherheits_eingabe == $_SESSION['rechen_captcha_spam']){
unset($_SESSION['rechen_captcha_spam']);
}

    $conn =  mysql_connect($dbserver,$dbuser,$dbpass);
     mysql_select_db($dbname,$conn);
    $datum =  date("Y-m-d H:i:s",time());
    $query = "INSERT INTO gb VALUES ('', '". addslashes($name)."', '". addslashes($email)."', '". addslashes($www)."','". addslashes($beitrag)."' ,'".$datum."')";
    $result =  mysql_query($query,$conn);
    if (!$result)
        {
            die ("Sorry, Datenbankeintrag hat nicht funktioniert");
        }
     mysql_close($conn);
     header("Location:gb.php");
}
?> [/b]

</body>
</html>
MaTzE1337
 
Beiträge: 2
Registriert: 20.05.2007, 16:42

Beitragvon frameguard » 21.05.2007, 14:27

Du hast in Deinem Script geschrieben:

if(isset($_SESSION['rechen_captcha_spam']) AND $sicherheits_eingabe == $_SESSION['rechen_captcha_spam']){
unset($_SESSION['rechen_captcha_spam']);
}

Das heißt, dieses IF wird nach unset() einfach abgeschlossen.
Alles andere im Script bleibt davon völlig unbeeinflußt.

Zwei Lösungsmöglichkeiten: Entweder, Du verlegst das schließende } ans Ende des Scripts (also vor ?>), oder - und das erscheint mir fast sicherer -, Du hängst direkt nach dem schließenden } ein ELSE an:
ELSE {
die("Der Sicherheitscode ist falsch!");
}
frameguard
 
Beiträge: 120
Registriert: 05.03.2007, 19:19
Wohnort: Wien

Beitragvon MaTzE1337 » 21.05.2007, 15:03

ahh vielen Dank :D

endlich geht es xDD

war wohl zu verwirrt nach einiger Zeit von den ganzen Zeichen ^^
MaTzE1337
 
Beiträge: 2
Registriert: 20.05.2007, 16:42

Beitragvon frameguard » 21.05.2007, 15:09

Gern geschehen. :)
frameguard
 
Beiträge: 120
Registriert: 05.03.2007, 19:19
Wohnort: Wien


Zurück zu Rechen Captcha

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron