if und echo

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • if und echo

    Hallo,
    ich habe hier ein kleines Problem mit meinem Umfrage Script. In die DB wird nach klick des submit Button antworten sowie eine username eingetragen.
    Es kann nur einmal abgestimmt werden (unique)
    Wenn ich nun auf den Submit Button klicke wird alles in die DB eingetragen und es erscheint die Meldung:Ihre Daten wurden abgeschickt...blabla.
    Jetzt looge ich mich mit dem gleichen usernamen wieder ein und fülle alles aus. Wenn ich jetzt wieder den Submit Button klicke dann bekomme ich beide Echo`s.
    Also einmal: Ihre Daten wurden blabla.
    Und einmal hans.mustermann Sie haben bereits an der Umfr...bla.
    Er schreibt natürlich keinen neuen Datensatz in die DB aber ich bekomm den ersten echo nicht weg.
    Hier mal ein bisschen code:
    PHP-Code:
    <?php
    include("connect.inc.php");
            
    session_start();

            if (!
    session_is_registered('username'))
                    {
                            die (
    "<font face=\"Verdana\" font size=\"2\">Sorry, aber sie haben sich wohl nicht eigeloggt, oder ?");
                    }
    .......
    if (
    $submit) {
    mysql_select_db("umfrage",$db);
    $sql "INSERT INTO antworten (username, antwort1, antwort2, antwort3, antwort4) VALUES ('$username', '$antwort1', '$antwort2', '$antwort3', '$antwort4')";
    $result = @mysql_query($sql,$db);
    echo 
    "<FONT FACE=\"Verdana\" SIZE=\"2\">Ihre Daten wurden abgeschickt! Vielen Dank!<br><br>";
    ?><input type="button" name="logout" value="logout" onClick="location.href='logout.php'"><br><br><?
    if (!$result){
    echo "$username Sie haben bereits an der Umfrage teilgenommen!";
    }
    } else {
    ?>
    <FORM name="frmRegister" method="POST" action="<? echo $PHP_SELF ?>">
    ......Hier kommen die Fragen und die radio buttons
    <?
    }
    ?>
    </BODY>
    </HTML>
    Was ist hier falsch?

  • #2
    Na schau Dir doch Dein Script genau an.
    Die Zeilen:
    PHP-Code:
    echo "<FONT FACE=\"Verdana\" SIZE=\"2\">Ihre Daten wurden abgeschickt! Vielen Dank!<br><br>";
    ?><input type="button" name="logout" value="logout" onClick="location.href='logout.php'"><br><br><?
    werden doch immer ausgegeben (sobald submit gedrückt wurde) und unterliegen keiner Bedingung.
    Wenn Du sie nur unter einer bestimmten Bedingung ausgeben lassen willst, dann musst Du diese auch angeben.

    Kommentar


    • #3
      re

      Ja ich bekomme das ja auch hin siehe hier:
      [php]
      if ($submit) {
      mysql_select_db("umfrage",$db);
      $sql = "INSERT INTO antworten (username, antwort1, antwort2, antwort3, antwort4) VALUES ('$username', '$antwort1', '$antwort2', '$antwort3', '$antwort4')";
      $result = @mysql_query($sql,$db);
      ?><input type="button" name="logout" value="logout" onClick="location.href='logout.php'"><br><br><?
      if (!$result){
      echo "$username Sie haben bereits an der Umfrage teilgenommen!";
      } else {
      echo "<FONT FACE=\"Verdana\" SIZE=\"2\">Ihre Daten wurden abgeschickt! Vielen Dank!<br><br>";
      }
      }
      ?>
      <FORM name="frmRegister" method="POST" action="<? echo $PHP_SELF ?>">
      Hier die Fragen und radios....
      Aber dann schmeisst er mir die fragen also das komplette Formular
      unter den Echo (hans,mustermann Sie haben bereits an der...blabla)

      Kommentar


      • #4
        Dann muss die Ausgabe des Formulars natürlich auch von einer Bedingung abhängen.
        PHP-Code:
        $formular_zeigen=true;
        if ($submit) {
        $formular_zeigen=false;
        mysql_select_db("umfrage",$db);
        $sql = "INSERT INTO antworten (username, antwort1, antwort2, antwort3, antwort4) VALUES ('$username', '$antwort1', '$antwort2', '$antwort3', '$antwort4')";
        $result = @mysql_query($sql,$db);
        ?><input type="button" name="logout" value="logout" onClick="location.href='logout.php'"><br><br><?
        if (!$result){
        echo "$username Sie haben bereits an der Umfrage teilgenommen!";
        } else {
        echo "<FONT FACE=\"Verdana\" SIZE=\"2\">Ihre Daten wurden abgeschickt! Vielen Dank!<br><br>";
        }
        }
        if ($formular_zeigen)
        { ?>
        <FORM name="frmRegister" method="POST" action="<? echo $PHP_SELF ?>"> 
        <?php
        }
        ?>
        Zuletzt geändert von DSB; 06.10.2003, 20:11.

        Kommentar


        • #5
          oh man...

          da wäre ich nie drauf gekommen.
          Und damit halte ich mich jetzt schon seid heute mittag auf.
          Vielen DANK

          Gruß
          emacs

          Kommentar

          Lädt...
          X