 |
 |
 |
 |
 |
 |
| |
Hallo, ich möchte nach einem Login eine Abfrage an die DB machen ob diese ID bereits existiert. Wenn das der Fall ist soll eine Meldung erscheinen Sie habe bereits bla bla.. Jetzt habe ich das Problem wenn die user ID noch nicht in der Tabelle existiert ein Formular mit frage erscheint welches in 8 themen unterteilt ist. Nach dem der user das 1. Thema beantwortet hat und auf den Submit button klickt erscheint das 2.Thema mit den fragen. Klickt er dann wieder auf den Submit kommt die Fehlermeldung das er bereits bla bla... Logisch nach dem ersten Thema wurde die user_ID ja bereits in die DB eingetragen. Wie kann ich es anstellen das er die Abfrage der ID nur beim einloggen vornimmt und nicht jedesmal nach dem er den Submit Button klickt ? Hier mal der CODE: [PHP] <?PHP session_start(); include ("header.html"); include("connect.inc.php"); if (!session_is_registered('username')) { die ("<font face=\"Verdana\" font size=\"2\">Sorry, aber sie haben sich wohl nicht eigeloggt, oder ?"); } //------------- Der User hat bereits an der Umfrage teilgenommen?--------------- $query = mysql_query("SELECT * FROM antworten WHERE user_ID = '".$ID."'"); if(mysql_num_rows($query) != 0) { echo "<FONT FACE=\"Verdana\" SIZE=\"2\">"; echo "Sorry, Sie haben bereits an der Umfrage teilgenommen!"; echo "<BR><BR>"; echo "<input type=\"button\" name=\"logout\" value=\"logout\" onClick=\"location.href='logout.php'\">"; echo "</FONT>"; } else { //------------ Wenn nicht wird das Formular zum abstimmen angezeigt.------------
if(isset($_POST[nextThema])) { if($_POST[nextThema] == "leer") { echo "<FONT FACE=\"Verdana\" SIZE=\"2\" COLOR=\"#336699\"><b>Auf Wiedersehen!</b><br><br>"; echo "<input type=\"button\" name=\"logout\" value=\"logout\" onClick=\"location.href='logout.php'\">"; return; }else $index=$_POST[nextThema]; reset ($_POST); while (list ($key, $val) = each ($_POST))
{ $frage=explode("-",$key); if($frage[0]=="ant") mysql_query("insert into antworten (fragen_ID, ant_moe_ID, user_ID) VALUES ('".$frage[1]."','".$val."','".$ID."')"); } } else $index=1;// 1. aufruf... noch kein "nächstes thema" gesetzt $nextindex=-1; ?> <FORM name="frmRegister" method="POST" action="<? echo $PHP_SELF ?>"> <? $result = mysql_query("SELECT * FROM user WHERE ID = '".$ID."'"); while ($daten = mysql_fetch_array($result)) { echo "<FONT FACE=\"Verdana\" SIZE=\"2\">"; echo "Sie sind eingeloggt als:\n<b><u><FONT COLOR=\"#FF9900\">"; echo $daten[1]; echo "\n"; echo $daten[3]; echo "\n"; echo $daten[2]; echo "</b></u></font>"; $i=0; $result1 = mysql_query("SELECT * FROM themen WHERE ID>= '".$index."' LIMIT 2"); while ($trow = mysql_fetch_array($result1)) { if($i == 0) { echo "<u><b>"; echo "<FONT COLOR=\"#336699\">"; echo "<br><br><br>"; echo $trow['thema']; echo "</u></b></FONT>"; $i++; } else $nextindex=$trow['ID'];//hier steht die nächste themenid drin }
$result2 = mysql_query("SELECT * FROM fragen WHERE themen_ID = '".$index."'") OR die(mysql_error()); while($frow=mysql_fetch_array($result2)) { echo "<br><b>"; echo "<FONT FACE=\"Verdana\" SIZE=\"2\">"; echo "<br><br>"; echo $frow['frage']; echo "</b><br><br>";
$result3 = mysql_query("SELECT * FROM ant_moe") OR die(mysql_error()); while($rw=mysql_fetch_array($result3)) { echo "<FONT FACE=\"Verdana\" SIZE=\"2\">"; echo "<input type=\"radio\" name=\"ant-".$frow[0]."\" value=\"".$rw[0]."\">\n"; echo $rw[1]; echo "</font>"; } } } echo "<br><br>"; if($nextindex != -1)// nur wenn es neue themen gibt muss man das feld einfügen echo'<input type=hidden name="nextThema" value="'.$nextindex.'">'; else // ansonsten letzte seite echo'<input type=hidden name="nextThema" value="leer">'; echo '<input type="submit" value="Weiter" onclick="return checkForm()" >'; } echo "</FORM>"; ?> [/PHP] |
|
|
|