if else und array problemmit gästebuch

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • if else und array problemmit gästebuch

    Hallo Erstmal

    Ich habe ein Problem ein Array zu erstellen mit verschiedenen Rechenaufgaben sprich im formular (gaestebuch.php)soll ein weiters Input Feld geben
    wo man die Rechenaufgabe eingibt und wenn man auf Absenden klickt
    soll die dann gecheckt werden in neuerbeitrag.php ob sie richtig oder
    falsch ist . Wenn die Aufgabe dann richtig ist sollen die daten in gaestebuch.txt reingeschrieben werden und wenn es falsch ist soll man zurück und die Daten verbessern die man eingegeben hat .Hier mal die Dateien:

    gaestebuch.php

    PHP Code:
    <html>
    <head>
    <title>Gästebuch</title>

    Wollen Sie einen Beitrag hinzufügen?<br><br>

    <form action="neuerbeitrag.php" Method="post">
    Ihr Name:<br>
    <input name="Name" size="40"><br><br>

    E-Mail:<br>
    <input name="EMail" size="40"><br>
    <br><br>

    Inhalt:<br>

    <textarea name="inhalt" cols="40" rows="12"
    wrap="physical"></textarea><br>
    <input type="submit" value="Absenden">
    </form>
    <hr>

    <?php
    $beitrag 
    file("gaestebuch.txt");
    krsort($beitrag);

    foreach(
    $beitrag as $ausgabe)
       {
       
    $ausgabe stripslashes($ausgabe);
       
    $zerlegen explode("|"$ausgabe);

       echo 
    "
       <table align=\"center\"
            border=\"1\" cellspacing=\"0\"
       cellpadding=\"5\" bordercolorlight=\"black\"
       bordercolordark=\"black\" width=\"50%\">
       <tr>
       <td>
      Von <a href=\"mailto:
    $zerlegen[0]\">$zerlegen[1]</a>
      am 
    $zerlegen[2]
       </td>
       </tr>

       <tr>
       <td>
       
    $zerlegen[3]
       </td>
       </tr>
       </table><br>
       "
    ;
       }
    ?>
    neuerbeitrag.php
    PHP Code:
    <html>
    <head>
    <title>Gästebuch - Speichere Beitrag</title>
    </head>
    <body>

    <?php
    $user 
    $_POST["Name"];
    $user htmlentities($user);

    $inhalt $_POST["inhalt"];
    $inhalt htmlentities($inhalt);
    $inhalt str_replace("\n""<br>"$inhalt);

    $email $_POST["EMail"];
    $email htmlentities($email);

    if (
    $inhalt == "" or $user == "")
       {
       echo 
    "Sie müssen das Feld \"Namen\"
       und \"Inhalt\" ausfüllen"
    ;
       }

    else
       {
       
    $datumdate("d.m.Y H:i:s");

       
    $eintrag="$email|$user|$datum|$inhalt";

       
    $datei fopen("gaestebuch.txt""a");
       
    fwrite($datei"\n".$eintrag);
       
    fclose($datei);

       echo 
    "Ihr Eintrag wurde erfolgreich gespeichert";
       }
    ?>

    <br>
    <a href="gaestebuch.php">Zurück zum Gästebuch</a>
    </body>
    </html>
    Die txt datei braucht man ja nicht hier .
    Ich habe selber Sachen ausprbiert aber bei mir klappt es einfach nicht.
    Jetzt hoffe ich auf eure Antworten
    Schonmal Danke in Voraus

    Gruß Bagerfahrer
    Last edited by Bagerfahrer; 15-04-2010, 15:12.

  • #2
    Hallo und willkommen im Forum,

    bitte lies erstmal die Regeln und passe deinen Beitrag mit dem -Button => [Erweitert] entsprechend an, so dass du Code in den dafür vorgesehenen Tags postest und nicht als Zitat und am besten auch noch mit den ursprünglichen Einrückungen für bessere Lesbarkeit.

    Deine Anfrage solltest du auch überarbeiten, denn zumindest ich habe nach 3-maligem Lesen immer noch nicht kapiert, was jetzt dein Problem ist.

    Danke.

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Comment


    • #3
      Ich habe selber Sachen ausprbiert aber bei mir klappt es einfach nicht.
      Das heißt, du willst jetzt den fertigen Code von uns, oder?

      Anderenfalls beschreib' doch bitte das Problem, nur dann können wir dir helfen es zu lösen. Dein Code enthält noch nicht die Spur von dem was du vor hast.

      Comment


      • #4
        Problem

        Also ich will eine Rechenaufgabe als Spamschtz einsetzen nun weiß ich aber nicht wie ich es in gaestebuch.php einbaue und wie ich es in neuerbeitrag.php nachprüfen kann.Hab nur jetzt die Codes reingeschrieben damit ihr sehen könnt wo ich den Code einbauen könnte.

        Gruß Bagerfahrer

        Comment


        • #5
          Das hängt von der Art der Rechenaufgabe ab. Hier im Forum gibt es zum Beispiel Sachen wie "Was ist sieben plus drei in Worten?". Dann ist die Antwort "Zehn".

          Du könntest das beispielsweise über ein Array lösen:
          PHP Code:
          $spamschutz = array();
          $spamschutz[0] = array ('Was ist sieben plus drei in Worten?','Zehn');
          $spamschutz[1] = array ('Was ist 3 plus fünf in Zahlen?','8');
          // usw. 
          Dann wählst du mit rand zufällig einen Array-Eintrag aus.
          PHP Code:
          $random   rand(0count($spamschutz) - 1);
          $question $spamschutz[$random][0];
          $answer   $spamschutz[$random][1]; 
          Dann must du nur nach dem Absenden prüfen ob die Antwort identisch ist mit dem Eintrag:
          PHP Code:
          if ($_POST['antwort'] == $answer
          Ungetestet und nur zur Anschauung.

          Peter
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Comment

          Working...
          X