FORUMARCHIV  
  Id abfrage   
 
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]

> Hier gehts zum Orginal Eintrag

 
  Antworten  
 

1.

Wie werden die Antworten gespeichert? Kannst du nicht zuaätzlich prüfen, ob eine bestimmte Seite schon gemacht wurde?



2.

Aua das tut weh....
Klar kann ich das.
*versteck*

Danke dir



3.

hmmm noch eine Frage.
Mir fällt jetzt erst auf das in dem Script das letzte Thema nicht eingetragen wird.
Ich suche jetzt schon seid über 2 std. warum das so ist.
Vielleicht bin ich ja auch schon Blind.
Wäre für jeden Tip dankbar.



> Weiter Einträge finden Sie in unserem Forum

 

Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.



Webspace mit PHP und MySQL bei phpforum.de!

radiobuttons überprüfen
Probleme mit require
Auswahl des Servers (Performance)
Überprüfung der E-mailadresse im Formular
Variable auslesen!!!
Scirpt laufzeit verlängern
Virus oder nicht Virus...
readdir Verzeichnisse oben, Dateien unten
2 abhängige auswahlboxen
mysql problem!bitte um hilfe
Problem mit Counter
gaestebuch frage
Php Array in Js-array umwandeln
Probleme mit trim () und chop()
Virtualhost / windows / dyndns
Einfache Frage
Links &quot;automatisch&quot; erstellen???
Datenimportschnittstelle CSV/XML gesucht!
Ganz normale PHPSESID
Sicherheitsproblem
$_SESSION['id'][] was ist daran falsch?
ezupload php problem
Fehler im script Bitte um hilfe
formular error auf formular seite ausgeben
ifconfig über Intranetseite ausführen....
sql abfrage aus zwei tabellen
Objekt erwartet
Wann kommt PHP5
Datei in RAR oder ZIP komprimieren und mit Passwort versehen
Ich kapier es nicht! (variablen in Link oder doch nicht?)
mcrypt
array_push ?
Tabellen vergleichen
News &amp; Comments
Dynamisch Thumbnail generieren
Count()
datenbankverbindung dauerhaft aufrechterhalten?
script zum E-mails decodieren?
Suche ein PHP Script
php Mailer --&gt; Smtp Error
mysql link resource problem
Bildwechsel bei onclickevent
Fehlermeldung
Spezielle Datumsfunktion
Probleme mit Arrays in einer Echo ausgabe.
Suche Serverüberwachungsskript
Übergabe von Variabeln an Insert-befehl
funktion readfile() netscape 7.0
htaccess und Rewriteengine
Php + Xml-schnittstelle
Weiter

Webdesign und TYPO3 Agentur - analog multimedia

phpforum.de das deutsche PHP-Forum. Hier finden Sie alles über PHP, PHP3, PHP4, PHP5 MySQL, ASP, JSP,Linux, Apache ...
  phpforum.de