Moin,
ich bin gerade am Rätseln, wie ich mein Vorhaben am besten umsetzten kann.
Und zwar möchte ich nach dem abschicken des Formulars und überprüfen, ob der Name schon vorhanden ist und das Passwort übereinstimmt.
Wenn das der Fall ist, ein Dropdown anzeigen lassen, in dem Farben angezeigt werden, die aus einer definierten Liste stammen. Allerdings werden dann die Farben ausgefiltert, die schon an User aus der WG vergeben sind.
Danach soll dann der User auf den abschicken Button klicken und dann soll auch erst das user Update in der Datenbank erfolgen.
Ich hoffe es war halbwegs verständlich ;)
Ich habe auch schon gedacht, wenn der User den "WG beitreten" Button klickt, dass dann, wenn Name und Passwort passen, ein Popup aufgeht mit dem Farbendropdown mit einem Button, und wenn der User diesen dann drückt, wird das Formular erst abgeschickt.
Aber das wird ja warscheinlich nur mit Javascript möglich sein.
Hier noch der bisherige Code.
Grüße
ich bin gerade am Rätseln, wie ich mein Vorhaben am besten umsetzten kann.
Und zwar möchte ich nach dem abschicken des Formulars und überprüfen, ob der Name schon vorhanden ist und das Passwort übereinstimmt.
Wenn das der Fall ist, ein Dropdown anzeigen lassen, in dem Farben angezeigt werden, die aus einer definierten Liste stammen. Allerdings werden dann die Farben ausgefiltert, die schon an User aus der WG vergeben sind.
Danach soll dann der User auf den abschicken Button klicken und dann soll auch erst das user Update in der Datenbank erfolgen.
Ich hoffe es war halbwegs verständlich ;)
Ich habe auch schon gedacht, wenn der User den "WG beitreten" Button klickt, dass dann, wenn Name und Passwort passen, ein Popup aufgeht mit dem Farbendropdown mit einem Button, und wenn der User diesen dann drückt, wird das Formular erst abgeschickt.
Aber das wird ja warscheinlich nur mit Javascript möglich sein.
Hier noch der bisherige Code.
PHP:
<?php
include("auth.php");
include("dbconnect.php");
if(isset($_POST["submit"]) AND $_POST["submit"]==" WG beitreten ")
{
// Fehlerarray anlegen
$errors = array();
// Prüfen, ob alle Formularfelder vorhanden sind
if(!isset( $_POST["wgname"],$_POST["wgpassword"]))
{
// Ein Element im Fehlerarray hinzufügen
$errors = "Bitte benutze das korrekte Formular";
}
else
{
$wgnames = array();
$sql = "SELECT wg_name FROM wg";
$result = mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
while($row = mysql_fetch_assoc($result))
{
$wgnames[] = $row['wg_name'];
}
// Session user_id und Name holen, wenn nicht auslesbar -> zurück zum login
if (isset($_SESSION["user_id"]) && isset($_SESSION["user_name"]))
{
$userID=$_SESSION["user_id"];
$userName=$_SESSION["user_name"];
}
else
{
echo "Es ist ein Fehler aufgetreten.";
echo "<br />";
echo "Bitte neu einloggen.";
echo ' <meta http-equiv="refresh" content="2; url=http://xxl-pc.de/cleanerplan/v1/index.php?s=login">';
}
//Prüfe, ob Nutzer schon in einer WG eingetragen ist
$sql = "SELECT wg_id FROM user WHERE username='".mysql_real_escape_string($userName)."'";
$result = mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
while($row = mysql_fetch_assoc($result))
{
$wgcheck = $row['wg_id'];
}
if ($wgcheck != 0)
$errors[]= "Du bist bereits Mitglied einer WG";
// Leerzeichen durch Unterstriche ersetzen
$wg_name = str_replace(" ", "_", trim($_POST["wgname"]));
// Prüft, ob ein WG-Name eingegeben wurde
if(trim($_POST["wgname"])=="")
$errors[]= "Bitte gebe einen WG-Namen ein.";
// Prüft, ob der WG-Name nur gültige Zeichen enthält
elseif(!preg_match("/^[a-zA-Z0-9äÄöÖüÜß_]+$/", $wg_name))
$errors[]= "Benutze bitte nur alphanumerische Zeichen (Zahlen, Buchstaben und den Unterstrich).";
// Prüft, ob der WG-Name bereits vergeben ist
elseif(!in_array($wg_name, $wgnames))
$errors[]= "Dieser WG-Name existiert nicht.";
// Prüft, ob ein Passwort eingegeben wurde
if(trim($_POST["wgpassword"])=="")
$errors[]= "Bitte gebe das WG-Passwort ein.";
}
// Prüft, ob Fehler aufgetreten sind
if(count($errors))
{
echo "Du konntest der WG nicht beitreten.<br>\n".
"<br>\n";
foreach($errors as $error)
echo $error."<br>\n";
echo "<br>\n".
"Zurück zum <a href=\"".$_SERVER["PHP_SELF"]."\">Registrierungsformular</a>\n";
}
else
{
$sql = "SELECT wg_id FROM wg WHERE (wg_name like '".mysql_real_escape_string($wg_name)."') AND (wg_password = '".md5 ($_POST["wgpassword"])."')";
$result = mysql_query($sql);
if (mysql_num_rows($result) > 0)
{
// Benutzerdaten in ein Array auslesen.
$data = mysql_fetch_array ($result);
// befehl für user update
$sql = "UPDATE user SET wg_id='".mysql_real_escape_string($data["wg_id"])."' WHERE usr_id=".$userID." LIMIT 1 ";
mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
mysql_close($link);
// Sessionvariablen updaten
$_SESSION["wg_id"] = $data["wg_id"];
echo "WG-Beitritt erfolgreich";
echo "<br />";
echo "Du wirst nun auf die Startseite weitergeleitet";
echo ' <meta http-equiv="refresh" content="3; url=http://xxl-pc.de/cleanerplan/v1/index.php?s=start">';
exit();
}
else
{
echo "WG-Name und Passwort stimmen nicht überein!";
}
}
}
?>
<form method="post" action="<?php echo "index.php?s=join"; ?>">
<a>WG-Name:</a><br />
<input type="text" name="wgname" class="rahmen" value="<?php echo htmlspecialchars($_POST["wgname"]); ?>" />
<br />
<br />
<a>Passwort:</a><br />
<input type="password" name="wgpassword" class="rahmen" />
<br />
<br />
<input type="submit" name="submit" value=" WG beitreten " />
</form>
Grüße