Seite 1 von 5 12345 LetzteLetzte
Ergebnis 1 bis 10 von 44

Thema: Gästebuch Captcha Fehler

  1. #1
    Azubi(ne)
    Registriert seit
    08.07.2008
    Beiträge
    79
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Gästebuch Captcha Fehler

    Hi ich mal wieder ,
    Also zu mein Problem ich habe mir mit PHP ein Gästebuch erstellt ging auch alles ganz gut.
    So nun wollte ich eine Captcha Sicherheit einbauen.
    Nun habe ich ne Menge Probleme damit.^^

    Also das erste Problem das Captcha wird nicht angezeigt.

    Die Datei captcha.php

    Code:
    <?php
       session_start&#40;&#41;;
       unset&#40;$_SESSION&#91;'captcha_spam'&#93;&#41;;
    
       function randomString&#40;$len&#41; &#123;
          function make_seed&#40;&#41;&#123;
             list&#40;$usec , $sec&#41; = explode &#40;' ', microtime&#40;&#41;&#41;;
             return &#40;float&#41; $sec + &#40;&#40;float&#41; $usec * 100000&#41;;
          &#125;
          srand&#40;make_seed&#40;&#41;&#41;;
    
          //Der String $possible enthält alle Zeichen, die verwendet werden sollen
          $possible="ABCDEFGHJKLMNPRSTUVWXYZabcdefghijkmnpqrstuvwxyz23456789";
          $str="";
          while&#40;strlen&#40;$str&#41;<$len&#41; &#123;
            $str.=substr&#40;$possible,&#40;rand&#40;&#41;%&#40;strlen&#40;$possible&#41;&#41;&#41;,1&#41;;
          &#125;
       return&#40;$str&#41;;
       &#125;
    
       $text = randomString&#40;5&#41;;  //Die Zahl bestimmt die Anzahl stellen
       $_SESSION&#91;'captcha_spam'&#93; = $text;
    
       header&#40;'Content-type&#58; image/png'&#41;;
       $img = ImageCreateFromPNG&#40;'/captcha/captcha.PNG'&#41;; //Backgroundimage
       $color = ImageColorAllocate&#40;$img, 0, 0, 0&#41;; //Farbe
       $ttf = $_SERVER&#91;'DOCUMENT_ROOT'&#93;."/captcha/XFILES.TTF"; //Schriftart
       $ttfsize = 25; //Schriftgrösse
       $angle = rand&#40;0,5&#41;;
       $t_x = rand&#40;5,30&#41;;
       $t_y = 35;
       imagettftext&#40;$img, $ttfsize, $angle, $t_x, $t_y, $color, $ttf, $text&#41;;
       imagepng&#40;$img&#41;;
       imagedestroy&#40;$img&#41;;
    ?>
    Und habe sie so in die Gästebuch-Datei (neu.php) eingebaut:

    Code:
    <?php
    echo '
    <form action="" method="post">
    <table>
    <tr><td>Name&#58;</td><td> <input type="text" name="username"></td></tr>
    <tr><td>Email&#58;</td><td> <input type="text" name="email"></td></tr>
    <tr><td>Homepage&#58;</td><td> <input type="text" name="homepage"></td></tr>
    <tr><td colspan="2">Nachricht&#58;
    
    <textarea name="nachricht" cols="35" rows="8"></textarea><td></tr>
    <tr><td>[img]captcha/captcha.php[/img]</td>
    <td><input type="text" name="sicherheitscode" size="5"></td></tr>
    <tr><td colspan="2"><input type="submit" value="Eintragen" name="senden"></td></tr>
    </table>
    </form>
    ';
    IF&#40;isset&#40;$_POST&#91;"senden"&#93;&#41;&#41;&#123;
    include&#40;'datenbank.php'&#41;;
    $username = $_POST&#91;"username"&#93;;
    $email = $_POST&#91;"email"&#93;;
    $homepage = $_POST&#91;"homepage"&#93;;
    $nachricht = $_POST&#91;"nachricht"&#93;;
    $zeit = time&#40;&#41;;
    $code = "INSERT INTO gbuch &#40;id, username, email, homepage, nachricht, zeit, ip&#41; VALUES&#40;'','$username','$email','$homepage','$nachricht','$zeit','$REMOTE_ADDR'&#41;";
    session_start&#40;&#41;;
    if&#40;isset&#40;$_SESSION&#91;'captcha_spam'&#93;&#41; AND $_POST&#91;"sicherheitscode"&#93; ==
    $_SESSION&#91;'captcha_spam'&#93;&#41;&#123;
    unset&#40;$_SESSION&#91;'captcha_spam'&#93;&#41;;
    &#125;else&#123;
       die &#40;"Der Sicherheitscode ist falsch!"&#41;;
    &#125;
    $eintragen = mysql_query&#40;$code&#41;;
    IF&#40;$eintragen&#41;&#123;
    echo 'Eintrag hinzugefuegt';
    &#125;
    &#125;
    ?>
    Zweites Problem gibt man ein falsches Code ein kommt:

    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /srv/www/httpd/phost/u/de/unveu-ost/web/neu.php:15) in /srv/www/httpd/phost/u/de/unveu-ost/web/neu.php on line 24
    Der Sicherheitscode ist falsch!
    Könnt ihr mir sagen wo die Fehler sind?
    Muss ich in der Datenbank noch Felder für das Captcha anlegen? Eigentlich nicht oder?
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard

    lesen?

    ...headers already sent (output started at...

    du kannst die session nichrt starten, weil du schon eine ausgabe gemacht hast...
    Something big is coming. And there will be pirates and ninjas and unicorns...

  3. #3
    Azubi(ne)
    Themenstarter

    Registriert seit
    08.07.2008
    Beiträge
    79
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Wie kann ich das ändern bzw. was muss ich ändern?

  4. #4
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard

    die session starten bevor du ne ausgabe machst?
    Something big is coming. And there will be pirates and ninjas and unicorns...

  5. #5
    Azubi(ne)
    Themenstarter

    Registriert seit
    08.07.2008
    Beiträge
    79
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Ähh ja okay ich helfe mir selber.o_0

  6. #6
    Azubi(ne)
    Themenstarter

    Registriert seit
    08.07.2008
    Beiträge
    79
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Wenn ich das aber so machen wie das in der Anleitung beschrieben wird. Das ich es an den Anfang setzen soll und "else" zum Schluss kommt gleich immer "Der Sicherheitscode ist falsch!".-.-

  7. #7
    Meister(in) Avatar von Gebby
    Registriert seit
    17.07.2008
    Ort
    Berlin
    Alter
    56
    Beiträge
    347
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Session und Cookies MUSS man immer als allererstes starten! Musst du halt dein Script umbauen.
    Niemals provozieren lassen, jeder darf seine Meinung haben.

  8. #8
    Azubi(ne)
    Themenstarter

    Registriert seit
    08.07.2008
    Beiträge
    79
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Dann wäre es doch so richtig?

    Code:
    <?php
    session_start&#40;&#41;;
    if&#40;isset&#40;$_SESSION&#91;'captcha_spam'&#93;&#41; AND $_POST&#91;"sicherheitscode"&#93; == $_SESSION&#91;'captcha_spam'&#93;&#41;&#123;
    unset&#40;$_SESSION&#91;'captcha_spam'&#93;&#41;;
    IF&#40;isset&#40;$_POST&#91;"senden"&#93;&#41;&#41;&#123;
    include&#40;'datenbank.php'&#41;;
    $username = $_POST&#91;"username"&#93;;
    $email = $_POST&#91;"email"&#93;;
    $homepage = $_POST&#91;"homepage"&#93;;
    $nachricht = $_POST&#91;"nachricht"&#93;;
    $zeit = time&#40;&#41;;
    $code = "INSERT INTO gbuch &#40;id, username, email, homepage, nachricht, zeit, ip&#41; VALUES&#40;'','$username','$email','$homepage','$nachricht','$zeit','$REMOTE_ADDR'&#41;";
    $eintragen = mysql_query&#40;$code&#41;;
    IF&#40;$eintragen&#41;&#123;
    echo 'Eintrag hinzugefuegt';
    &#125;
    &#125;
    session_start&#40;&#41;;
    if&#40;isset&#40;$_SESSION&#91;'captcha_spam'&#93;&#41; AND $_POST&#91;"sicherheitscode"&#93; == $_SESSION&#91;'captcha_spam'&#93;&#41;&#123;
    unset&#40;$_SESSION&#91;'captcha_spam'&#93;&#41;;
    ?>

  9. #9
    Azubi(ne)
    Themenstarter

    Registriert seit
    08.07.2008
    Beiträge
    79
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    So nun funktioniert das mit dem Captcha aba wenn ich die Datei "captcha.php" aufrufe kommt immer diese Fehlermeldung:

    Die Grafik "http://unveu-ost.de/captcha.php" kann nicht angezeigt werden, weil sie Fehler enthält.


    Hier die captcha.php Datei:

    Code:
    <?php
       session_start&#40;&#41;;
       unset&#40;$_SESSION&#91;'captcha_spam'&#93;&#41;;
    
       function randomString&#40;$len&#41; &#123;
          function make_seed&#40;&#41;&#123;
             list&#40;$usec , $sec&#41; = explode &#40;' ', microtime&#40;&#41;&#41;;
             return &#40;float&#41; $sec + &#40;&#40;float&#41; $usec * 100000&#41;;
          &#125;
          srand&#40;make_seed&#40;&#41;&#41;;
    
          //Der String $possible enthält alle Zeichen, die verwendet werden sollen
          $possible="ABCDEFGHJKLMNPRSTUVWXYZabcdefghijkmnpqrstuvwxyz23456789";
          $str="";
          while&#40;strlen&#40;$str&#41;<$len&#41; &#123;
            $str.=substr&#40;$possible,&#40;rand&#40;&#41;%&#40;strlen&#40;$possible&#41;&#41;&#41;,1&#41;;
          &#125;
       return&#40;$str&#41;;
       &#125;
    
       $text = randomString&#40;5&#41;;  //Die Zahl bestimmt die Anzahl stellen
       $_SESSION&#91;'captcha_spam'&#93; = $text;
    
       header&#40;'Content-type&#58; image/gif'&#41;;
       $img = ImageCreateFromGIF&#40;'captcha.GIF'&#41;; //Backgroundimage
       $color = ImageColorAllocate&#40;$img, f, f, f&#41;; //Farbe
       $ttf = $_SERVER&#91;'DOCUMENT_ROOT'&#93;."captcha//XFILES.TTF"; //Schriftart
       $ttfsize = 25; //Schriftgrösse
       $angle = rand&#40;0,5&#41;;
       $t_x = rand&#40;5,30&#41;;
       $t_y = 35;
       imagettftext&#40;$img, $ttfsize, $angle, $t_x, $t_y, $color, $ttf, $text&#41;;
       imagegif&#40;$img&#41;;
       imagedestroy&#40;$img&#41;;
    ?>
    Ich versuche schon die ganze Zeit mit nen Bekannten das hin zu kriege geht aba nicht.

  10. #10
    Bandit
    Gast

    Standard

    Was passiert, wenn du dieses Script direkt aufrufst?

Ähnliche Themen

  1. Gästebuch mit Captcha
    Von gelöschter User im Forum Tutorials, Workshops und Anleitungen
    Antworten: 0
    Letzter Beitrag: 30.07.2008, 12:50
  2. Gästebuch mit Captcha
    Von Anthony im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 31.05.2008, 11:55
  3. Captcha - Finde den Fehler nicht
    Von Dark_Dog im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 0
    Letzter Beitrag: 24.10.2007, 15:13
  4. Fehler in Gästebuch
    Von step5 im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 3
    Letzter Beitrag: 04.02.2007, 14:56
  5. Wo ist der Fehler im Gästebuch?
    Von guitarist im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 25.01.2005, 22:40

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •