Ergebnis 1 bis 15 von 15

Thema: [PHP] Captcha Problem!

  1. #1

    [PHP] Captcha Problem!

    Morgen liebe WebDev Com,

    Problem

    Die User von meiner Webseite beschweren sich das sie nichts mehr in das Gaestebuch schreiben koennen da sie den Erforderlichen Zahlen Code nicht sehen koennen. So gut wie alle User greifen mit dem IE auf diese Seite zu.
    Nun dachte ich mir mal, da es bei mir im FireFox ja geht, probierst du auch mal den IE aber komischer weise geht es bei mir, der Zahlen Code wird angezeigt.
    So dann bin ich runter zu dem PC meiner Mutter, IE an, Zahlen Code wird nicht angezeigt ;(, FireFox an, es geht ...

    Nun zu meiner Eigentlichen frage, warum geht es bei anderen Usern im IE nicht aber im FireFox und wieso geht es in meinem IE?


    PHP Code

    Der Captcha Code:
    PHP-Code:
    session_start();
    header("Content-type: image/png");
    $bild ImageCreate(50,20);
    $back imagecolorallocate($bild000);
    $font imagecolorallocate($bild25500);
    ImageString($bild311$_SESSION['zah'], $font);
    imagepng($bild);
    imagedestroy($bild); 
    Die Code Zeile mit dem das Captcha angezeigt wird.
    HTML-Code:
    <p class='formular1'>Zahlen: </p><img src='inc/code.php' alt='Zufallszahlen'>

    Schlusswort

    Ich hoffe ihr koennt mir Weiterhelfen?
    Denn die meckern mich schon alle voll weil sie nix eintragen koennen. =)
    Und einfach sagen das sie den IE nutzen sollen kann ich auch nicht, ok kann ich schon aber die sind alle so wenig im netz, das wuerden die nicht raffen.
    Danke schon mal im vorraus fuer alles was mich weiter bringt. =)

    Gruß Jay

  2. #2
    Ich vermute, dass der IE mit den Sessioncookies nicht klar kommt und es daher zum Fehler kommt, der sich auf den Rest des Quelltextes auswirkt. D.h. header() geht nicht mehr und damit auch kein Bild.

    Eventuell rufst du die Bildatei mal im Browser auf (per <a href>) und schaust dir den Quelltext der Datei an. Normal steht bei PNGs in der ersten Zeile, nahe am Anfang, die Zeichenfolge PNG, wenn Session aber tatsächlich einen Fehler ausgibt siehst du den hier an erster Stelle.

    Zitat Zitat
    Und einfach sagen das sie den IE nutzen sollen kann ich auch nicht, ok kann ich schon aber die sind alle so wenig im netz, das wuerden die nicht raffen
    Ein netter Hinweis kann ja nicht schaden^^

  3. #3
    Zitat Zitat
    Ich vermute, dass der IE mit den Sessioncookies nicht klar kommt und es daher zum Fehler kommt, der sich auf den Rest des Quelltextes auswirkt. D.h. header() geht nicht mehr und damit auch kein Bild.
    Gut das ist eine moeglichkeit aber was kann ich dagegen tun?

    Zitat Zitat
    Eventuell rufst du die Bildatei mal im Browser auf (per <a href>) und schaust dir den Quelltext der Datei an. Normal steht bei PNGs in der ersten Zeile, nahe am Anfang, die Zeichenfolge PNG, wenn Session aber tatsächlich einen Fehler ausgibt siehst du den hier an erster Stelle.
    Kommt nicht viel bei raus,das Bild wird angezeigt und klappt auch aber es gibt keine moeglichkeit in den Quelltext zu schauen.

    Zitat Zitat
    Ein netter Hinweis kann ja nicht schaden^^
    Na das mach ich doch gerne.

  4. #4
    Zitat Zitat
    Gut das ist eine moeglichkeit aber was kann ich dagegen tun?
    Setze vor session_start() ein @ Zeichen, damit werden Fehlermeldungen unterdrückt. Allerdings kann die Zahl aus der Session natürlich nicht übergeben werden, wenn diese Fehlerhaft wäre.

    Zitat Zitat
    Kommt nicht viel bei raus,das Bild wird angezeigt und klappt auch aber es gibt keine moeglichkeit in den Quelltext zu schauen.
    Wenn das Bild angezeigt wird, sollte eigentlich alles in Ordnung sein. Hast du schon mal versucht, ob deine Besucher ein anderes Bildformat (GIF, JPG) sehen können?

  5. #5
    Zitat Zitat
    Setze vor session_start() ein @ Zeichen, damit werden Fehlermeldungen unterdrückt. Allerdings kann die Zahl aus der Session natürlich nicht übergeben werden, wenn diese Fehlerhaft wäre.
    Ok ich probier es mal.

    Zitat Zitat
    Wenn das Bild angezeigt wird, sollte eigentlich alles in Ordnung sein. Hast du schon mal versucht, ob deine Besucher ein anderes Bildformat (GIF, JPG) sehen können?
    Hm das ist eine gute frage, kA, wie mach ich das?

  6. #6
    Zitat Zitat
    Hm das ist eine gute frage, kA, wie mach ich das?
    Für header(): image/gif bzw. image/jpeg

    Für die Erstellung: imagegif() bzw. imagejpeg().

  7. #7
    Ach so meinste das. =)

    Ich hab grad mal auf meine Mutters PC geschaut und das mit dem @ bringt nicht viel.

    Das Bild an sich wuerd ja angezeigt nur das halt nix drin steht, ich konnte das bild auch mit rechts klick speichern nur halt ohne zahl, deshalb denke ich das die erste variante mit den Sessions das Problem sein wird. =)

  8. #8
    Zitat Zitat
    Das Bild an sich wuerd ja angezeigt nur das halt nix drin steht, ich konnte das bild auch mit rechts klick speichern nur halt ohne zahl, deshalb denke ich das die erste variante mit den Sessions das Problem sein wird. =)
    Also ein Sessionproblem, ja. Nicht gerade meine Stärke x.x

    Normal setzen Sessions ja ein Cookie, das scheit bei dir nicht zu funktionieren, eventuell rufst du da Bild im img-Element mal mit ?PHPSESSID=sid auf, wobei sid eben der Hash ist.

  9. #9
    So hab es ein bischen anders geloest. =)

    Ich lasse das Captcha einfach komplett weg und mache einfach nur ein Unsichtbares <input> Feld mit einem Leichten namen, wie URL oder email, damit der Bot auch ja was Eintraegt. Dann brauch ich bloß noch bei der Formular Ueberpruefung ne empty() abfrage starten und nen die("Fehler") ausgeben wenn was drin steht.

    Klappt bis jetzt ganz gut. Spaeter werde ich dann noch Badwords einfuehren, dann sollte es eigentlich sicher sein. =)

    Gruß Jay und danke fuer die bisherige Hilfe.

  10. #10
    Welcher Art ist das unsichtbare Eingabefeld? input[type=hidden] oder display bzw. visibility: none?

    Ersteres wird auch von Bots ignoriert. Und da SuMas das können werden Bots wohl auch display: bzw. visibility-Werte kennen. Wobei da eventuell komplexere Selektoren im CSS hilfreich sein könnten (d.h. alle außer die direkten Zuweisungen).

  11. #11
    Ich nutze die CSS variante.

    display: none;

    Zitat Zitat
    Wobei da eventuell komplexere Selektoren im CSS hilfreich sein könnten.
    Und wie kann man sich das vorstellen bzw stellst du dir das vor?

  12. #12
    Zitat Zitat
    Und wie kann man sich das vorstellen bzw stellst du dir das vor?
    Nun, statt dem Element direkt oder per Klasse/ID das ganze zuzuweisen wären eventuell Kind und Attributselektoren, die zu diesem Element führen sinnvoll. Aber da der IE damit wirder nicht klarkommt ..

    Etwa:
    Code:
    from div input {
     /* Dann muss sich das versteckte Element innerhalb eines div-Elements befinden.
    Das macht bei der Ansicht nichts, denn ist der Inhalt versteckt wird das div nicht angezeigt. */
    }

    Geändert von mitaki (23.02.2007 um 21:11 Uhr)

  13. #13
    ich poste es mal einfach hier rein...
    habe gestern captcha in mein cutenews installiert. soweit, so gut.
    nun bekomme ich aber bei meinen news folgende fehlermeldung:
    Code:
    Fatal error: Cannot redeclare class PhpCaptchaColour in /kunden/115409_88348/msg/cutenews/captcha/captcha/php-captcha.inc.php on line 489
    in line 489 steht nur ein }

    ich habe auch schon mehrfach im cutephp forum nachgefragt, aber leider nie eine antwort bekommen...

  14. #14
    Hm, schwirige Sache.

    Wie hast du das CAPTCHA-Skript installiert? Hinzufügen von include-Befehlen im Code? Dann kann es sein, dass du vielleicht eine Datei doppelt oder zu viel eingebunden hast. Hast du dich genau an eine mögliche Installationsanleitung gehalten?

  15. #15
    ich habe captcha von hier http://cutephp.com/forum/index.php?s...954&hl=captcha und mich genau an die angegebenen installationsvorgaben gehalten.

Berechtigungen

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