Ergebnis 1 bis 4 von 4

Thema: CAPTCHA "Problem"

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

    Standard CAPTCHA "Problem"

    Hallo erstmal,

    ich habe das Problem, dass ich ein Kommentarscript auf meiner website einbauen will. die Eingabe soll der User mit einem CAPTCHA bestätigen, soweit kein problem - doch:

    ich möchte die daten gerne DIREKT bei erfolgreicher captcha eingabe in der datenbank speichern. (auf der selben seite und NICHT erst auf der nächsten, was das ganze ja viel zu einfach machen würde ) ist das denn möglich? also sessions auf einer und der selben seite starten und auslesen geht glaube nicht. Hier ein Teil des Scripts:

    PHP-Code:
    <?php
    if (empty($_POST)) { ?>
    <form method="POST">
    Username:<br />
    <input type="text" name="kommentar" /><br />
     
    <!-- pass a session id to the query string of the script to prevent ie caching -->
    <img src="securimage_show.php?sid=<?php echo md5(uniqid(time())); ?>"><br />
    <input type="text" name="code" /><br />
     
    <input type="submit" value="Submit Form" />
    </form>
     
    <?php
    } else { //form is posted
    include("securimage.php");
    $img = new Securimage();
    $valid $img->check($_POST['code']);
     
    if(
    $valid == true) {
    echo 
    "<center>HIER SOLLTE DANN DIE DB VERBINDUNG STARTEN UND DIE DATEN ÜBERGEBEN</center>";
    } else {
    echo 
    "<center>Sorry, the code you entered was invalid. <a href=\"javascript:history.go(-1)\">Go back</a> to try again.</center>";
    }
    }
     
    ?>


    danke euer max
    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
    König(in) Avatar von chris90night
    Registriert seit
    09.09.2006
    Ort
    <?php echo $_SERVER['PHP_SELF']; ?>
    Beiträge
    1.096
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: CAPTCHA "Problem"

    Zitat Zitat von funbox Beitrag anzeigen
    ist das denn möglich? also sessions auf einer und der selben seite starten und auslesen geht glaube nicht.
    Aber natürlich Hört sich aber nicht so an, als ob du es schon probiert hast?

    Am Besten startest du in einem Skript die Session immer zu Beginn des Codes. Also das erste was du machst, sollte session_start(); sein. Und dann kannst du die Werte in der Session ganz normal bearbeiten.

    Im Formular sendest du die Daten via "action"-Attribut im Form-Tag, einfach an die aktuelle Datei.

    Vom Ansatz her hast du das ja schon richtig gemacht.

    MfG


    Denk immer daran: auch am anderen Ende der Leitung sitzt ein Mensch!

  3. #3
    Azubi(ne)
    Themenstarter

    Registriert seit
    23.12.2007
    Beiträge
    89
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: CAPTCHA "Problem"

    Okay danke, natürlich hatte ich es bereits versucht, habs aber leider nicht hinbekommen. also die session habe ich bereits ganz oben angefangen... als action hab ich dann die selbe datei genannt (index.php).

    leider klappt es immer noch nicht. Verbindung zur db klappt aber, ohne captcha werden werte korrekt übergeben.

    PHP-Code:
    <?php
     
    switch($action)
    {
    case 
    'main':
    $_SESSION['captcha_session'] = $captcha->generate_code();
     
    if(isset(
    $errors)) { ?><p class="caution">Error:</p><ul><?php foreach($errors as $error) { ?><li><?php echo $error?></li><?php ?></ul><br /></p><?php }
     
    // display form:
    ?><form action="index.php" method="post">
    <div>
    <input type="hidden" name="<?php echo session_name(); ?>" value="<?php echo session_id(); ?>" />
    <p>Message:<br />
    <textarea name="kommentar" cols="50" rows="5"><?php if(isset($_POST['message'])) echo htmlspecialchars(stripslashes($_POST['message'])); ?></textarea></p>
    <p style="margin-bottom:0px;">CAPTCHA check:<br />
    <img class="captcha" src="captcha_image.php<?php echo '?'.SID?>" alt="CAPTCHA" width="180" height="40" /><br />
    Please enter the letters/numbers of the image above: <input type="text" name="captcha_word" value="" size="10" /></p>
    <p><input type="submit" name="form_submit" value=" OK "></p>
    </div>
    </form><?php
    break;
    case 
    'passed':
    if(isset(
    $error)) die();
    ?><p>The form has been accepted.</p><?php
    if(isset($_POST['message']) && trim($_POST['message'])!='')
    {
    ?><p>Submitted message:</p>
    <p style="font-style:italic;"><?php echo nl2br(htmlspecialchars(stripslashes($_POST['message']))); ?></p>
     
    // HIER KOMMT MEIN PART::::::::
     
    <?
    $connectionid 
    mysql_connect ("localhost""benutzername""passwort"); 
    if (!
    mysql_select_db ("usr_benutzer_1"$connectionid))

    die (
    "Keine Verbindung zur Datenbank"); 
    }
    ?>
     
    <?php 
    $_SESSION
    ["kommentar"] = $_POST["kommentar"];
    $send "INSERT INTO anbieterkommentare (kommentar) VALUES ('$_SESSION[kommentar]')";
    $sendfertich mysql_query($send);
    ?> 
     
    // HIER ENDET MEIN PART::::::::
     
    <?php

    ?><p><a href="<?php echo basename($_SERVER['PHP_SELF']); ?>">back</a></p><?php
    break;
    }
    ?>

  4. #4
    Bandit
    Gast

    Standard AW: CAPTCHA "Problem"

    Dieser Quellcode ist für einen Außenstehenden völlig unleserlich. Somit wirst du wohl auch nicht wirklich auf Hilfe hoffen können, denn niemand hat Lust, den Quellcode erst mal lesbar zu formatieren. Aber einen Tipp habe ich trotzdem für dich:

    Richtig debuggen
    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
    2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL); und ini_set("display_errors", true);
    3. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    4. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
    5. Schritt 3 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    6. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    7. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    8. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

Ähnliche Themen

  1. In ICQ ist bei "unsichtbar" die Blume weiß, bei "sichtbar" rot
    Von makemyday77 im Forum Computer - Internet Forum
    Antworten: 7
    Letzter Beitrag: 01.06.2010, 02:10
  2. Border-Bottom: noch "zarter" als "1px dashed"?
    Von Mütze im Forum HTML & CSS Forum
    Antworten: 2
    Letzter Beitrag: 19.09.2008, 17:10
  3. php: "bitte warten" oder "login läuft"
    Von phore im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 3
    Letzter Beitrag: 05.04.2006, 17:18
  4. Problem beim "Physlet" erstellen mit einer "f
    Von Freerider19 im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 1
    Letzter Beitrag: 13.12.2004, 09:08
  5. Text immer "unten" und "rechts" am Frame
    Von Valdyn im Forum HTML & CSS Forum
    Antworten: 5
    Letzter Beitrag: 25.05.2004, 18:14

Stichworte

Berechtigungen

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