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!

Quelltext erweitern , aber wie
windows mediaplayer
Problem mit FDF
keine idee wie!
Zeilen einer bestimmten spalte zählen
Anmeldung - wie am Besten umsetzen?
Internet Explorer und Hover-effekt bei &lt;td&gt;
Namenvergleich mit Tabelle falls vorhanden 100 Punkte dazu
Weiterleitung
Sessions übergebe in ein forum
Brauche tipp bei mysql Fehlermeldung
Wörter mit Apostroph
Einen Script um Scripte zu sperren und entsperren
Gutes Java Tutorial für Anfänger
Einlesen von bestimmten Daten in Db
in mysql immer in die zeile eintrage die die höchste ID trägt
Terminkalender - Dauertermine
select in der länge begrenzen
copy() ignoriert if-abfrage
Tut oder Script für eine Download section
Textdatei durchsuchen und Ergebnis mit Button ausgeben
Probleme beim Insert
Variabel hochzählen
Daten von DB in einer Tabelle anzeigen
if abfrage wird übergangen
Kompletter Pfad von &lt;input type=&quot;file&quot;
mysql_fetch_object überspringt die erste zeile
Problem mit open_basedir restriction
formular erweiterung
checkboxen name=&quot;alles_haben_den_gleichen_name&quot; wie auslesen?
div elemente mit variabler groesse
30 Tage Testlizens
was ist das für eine Fehlermeldung
Probleme die Textdatei korrekt auszulesen
onmouseover in tabelle anderen text anzeigen
Formular und Variablenproblem
Kontaktformular - Bitte um Hilfe!
Apache Server funktioniert nicht
Tabelle mit Zufallszahlen füllen
Php search script
Script aktualisieren
Ie-fenster
DTD Problem mit BG Anzeige
wamp STARTEN OHNE MYSQL UD APACHE ZU STARTEN ß
Prüfen, ob Ordner existiert
Parse error in array
strip_tags(sid) funktioniert bei mir nicht
Variablen auslesen und mailen
imagecopyresampled()
function in echo &lt;&lt;&lt;
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