ChrisL: SQL Fehler Resource id #8

Beitrag lesen

Hallo Forum

Ich habe erst seit kurzem mit PHP/SQL gestartet und hoffe, dass mir jemand mit folgendem Code helfen kann.

Ich habe ein Sign-Up Formular geschrieben, wo u.a. ein Verification Code erzeugt wird, der mittels Email dem neuen Mitglied zugestellt wird. Der User klickt auf den Link im Email... http://www.adresse/verify.php?email=muster@mail.com&vcode=XXXXXXX

In verify.php gleiche ich die Datenbank mit dem Code ab und lösche ggf. den Eintrag. U.a. benutze ich die Funktion 'getvcode($email)', die mir den Verification-Code aus der Datenbank ausliest.

So, funktioniert alles bestens d.h. keine Probleme mit Datenbankverbindung oder Query.

Nun habe ich eine IF-Abfrage erstellt, ob die Variable $_GET['email'] existiert und falls nicht, soll ein Formular erscheinen. D.h. wenn jemand verify.php ohne Variablen anwählt, soll er die Verification manuell vornehmen könnnen (Textfeld Email und V-Code).

Wenn ich hierfür (im Formular Teil) die gleiche Funktion 'getvcode($email)' ausführe, erscheint der Query-Fehler 8 im Titel.

Aus Recherchen im Archiv glaube ich zu verstehen, dass es sich um einen Konflikt mit mehreren Query handeln könnte. Etwas von 'unbuffered' habe ich auch gelesen, aber ich kann es nicht einsetzen. Ist mir auch ganz prinzipiell unklar, warum es einen Konflikt geben könnte, weil die Query wird ja nur einmal ausgeführt wird, entweder im Formular-Teil oder im automatischen Teil (Variablen via Link) aber nicht gleichzeitig.

Für Hinweise und Anregungen jeglicher Art bin ich sehr dankbar.

Freundliche Grüsse
Chris

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Unbenanntes Dokument</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../layout/layout.css.php" rel="stylesheet" type="text/css">
<?php
include '../textmsg/errormsg.inc';
include '../functions/otherfunctions.inc';
include '../functions/formfieldcreate.inc';
include '../functions/formfieldcheck.inc';

function getvcode($email) {
$qry1 = mysql_query( "SELECT * FROM member1 WHERE fdemail='$email'");
$fetch = mysql_fetch_array($qry1) or die("Failed Query of " . $qry1);
return $fetch['fdpwverified'];
}
?>
</head>

<body class="standardtext">
<p>
  <?php
$email = $_GET['email'];
$vcode = $_GET['vcode'];

if (!isset($email)){
// Start Code via Form
//--------------------------------------------------------------------------------------------------------------------

include '../functions/dbconnection1.inc';
// ---------- THE NEXT LINE CAUSES THE PROBLEM -----------------
$fdpwverified = getvcode("TestmemberA@mail.comb");
echo $fdpwverified;
mysql_close($conn);

//--------------------------------------------------------------------------------------------------------------------
}
else
{
// Start Code via URL
//--------------------------------------------------------------------------------------------------------------------
include '../functions/dbconnection1.inc';
$fdpwverified = getvcode($email);
if ($fdpwverified == "") {
  echo  errortext(10);
  exit;
}
if ($fdpwverified != $vcode) {
  echo errortext(11);
  exit;
}
$qry2 = "UPDATE member1 SET fdpwverified='' WHERE fdemail='$email'";
mysql_query($qry2) or die("Failed Query of " . $qry2);
echo 'You have successfully signed up. Thank you for joining. You will be redirected
      to our login shortly (in work). For now you can use the following <a href="../login/login.php">link</a>.';
mysql_close($conn);
//--------------------------------------------------------------------------------------------------------------------
}
?>

</body>
</html>