Kalma
Erfahrenes Mitglied
Hallo,
das ist wohl so ziemlich das verzwickteste Problem, das ich bisher hatte
Ich habe ein Registrierungsformular geschrieben, mit überprüfungen auf richtigkeit, dann der query, dann der upload des Avaters.
Nur, wenn man alles korrekt eingegeben hat, es nicht, die seite bleibt einfach leer, statt weiterzuleiten, oder ne Meldung auszugeben...
Wenn ich jedoch die Überprüfungen weglasse, es....
Ich habe schon Stundenlang gesucht, aber nux gefunden...
Vielleicht findet ihr ja was
Hier mein Code:
Danke im Vorraus
David
das ist wohl so ziemlich das verzwickteste Problem, das ich bisher hatte
Ich habe ein Registrierungsformular geschrieben, mit überprüfungen auf richtigkeit, dann der query, dann der upload des Avaters.
Nur, wenn man alles korrekt eingegeben hat, es nicht, die seite bleibt einfach leer, statt weiterzuleiten, oder ne Meldung auszugeben...
Wenn ich jedoch die Überprüfungen weglasse, es....
Ich habe schon Stundenlang gesucht, aber nux gefunden...
Vielleicht findet ihr ja was
Hier mein Code:
PHP:
<?php
//posten
$rang = "user";
$nickname = $_POST['nickname'];
$passwort1 = $_POST['passwort1'];
$passwort2 = $_POST['passwort2'];
$vorname = $_POST['vorname'];
$nachname = $_POST['nachname'];
$geschlecht = $_POST['geschlecht'];
$herkunft = $_POST['herkunft'];
$email = $_POST['email'];
$homepage = $_POST['homepage'];
$icq = $_POST['icq'];
$registriert = date("d.m.Y");
$freetitel = $_POST['freetitel'];
//gebdatum
$tag = $_POST['tag'];
$monat = $_POST['monat'];
$jahr = $_POST['jahr'];
$geburtstag = $tag .".". $monat .".". $jahr;
//überpfrüfen
$Query = "SELECT * FROM user WHERE `nickname`='$nickname'"; //user auslesen
$Result = mysql_query($Query); //resulten
$u = mysql_fetch_array($Result); //variable festlegen - ins bett gehen^^
if ($u['nickname'] == $nickname)
{
header ("location: index.php?section=registrieren&userx=1");
}
if (!isset($nickname, $passwort1, $passwort2, $vorname, $nachname, $tag, $monat, $jahr, $email))
{
header ("location: index.php?section=registrieren&fehler=1");
}
//auf leerstellen prüfen
elseif (ereg(" ", $nickname))
{
header ("location: index.php?section=registrieren&nickleer=1");
}
elseif (ereg(" ", $passwort1))
{
header ("location: index.php?section=registrieren&passleer=1");
}
elseif (ereg(" ", $email))
{
header ("location: index.php?section=registrieren&emailleer=1");
}
elseif (ereg(" ", $icq))
{
header ("location: index.php?section=registrieren&icqleer=1");
}
elseif (ereg(" ", $tag))
{
header ("location: index.php?section=registrieren&tagleer=1");
}
elseif (ereg(" ", $monat))
{
header ("location: index.php?section=registrieren&monatleer=1");
}
elseif (ereg(" ", $jahr))
{
header ("location: index.php?section=registrieren&jahrleer=1");
}
//passwörter
elseif ($passwort1 != $passwort2)
{
header ("location: index.php?section=registrieren&pw=1");
}
//nickname
elseif ($nickname == "")
{
header ("location: index.php?section=registrieren&nick=1");
}
//email
elseif ($email == "")
{
header ("location: index.php?section=registrieren&mail=1");
}
//vorname
elseif ($vorname == "")
{
header ("location: index.php?section=registrieren&vor=1");
}
//geschlecht
elseif ($geschlecht == "")
{
header ("location: index.php?section=registrieren&geschlecht=1");
}
//gebdatum
elseif (($tag == "") XOR ($monat == "") XOR ($jahr == ""))
{
header ("location: index.php?section=registrieren&gebdatum=1");
}
//gebdatum (auf zahlen prüfen)
elseif ($_POST['tag'] != (int)$_POST['tag'])
{
header ("location: index.php?section=registrieren&gebdatum2=1");
}
elseif ($_POST['monat'] != (int)$_POST['monat'])
{
header ("location: index.php?section=registrieren&gebdatum2=1");
}
elseif ($_POST['jahr'] != (int)$_POST['jahr'])
{
header ("location: index.php?section=registrieren&gebdatum2=1");
}
elseif ($jahr < 4)
{
header ("location: index.php?section=registrieren&gebdatum3=1");
}
//icq überprfüfen
elseif ($icq == "")
{
echo "";
}
elseif ($_POST['icq'] != (int)$_POST['icq'])
{
header ("location: index.php?section=registrieren&icq=1");
}
elseif (!ereg("-", $icq))
{
header ("location: index.php?section=registrieren&icqf=1");
}
//email überprüfen
elseif (!ereg("!$%&'*+-/{|}~-_", $email))
{
header ("location: index.php?section=registrieren&email=1");
}
//nachname
elseif ($nachname == "")
{
header ("location: index.php?section=registrieren&nach=1");
}
else
{
//wenn alle dateien korrekt eingegeben wurden, kann der User registriert werden :)
//email anzeigen?
if (isset($_REQUEST['mail'])) //prüfen, ob die mail-adresse angezeigt werden soll
{
foreach($_REQUEST['mail'] as $mail)
{
$mail = 1;
} //for beenden
} //if beenden
//geburtsdatum anzeigen?
if (isset($_REQUEST['geb'])) //prüfen, ob das gebdatum angezeigt werden soll
{
foreach($_REQUEST['geb'] as $geb)
{
$geb = 1;
} //for beenden
} //if beenden
//passwort verschlüsseln
$md5pw = md5($passwort1); //zur sicherheit, das passwort mit md5 verschlüsseln
//der query: eintrag in die db
$User = "INSERT INTO
user (`rang`,
`nickname`,
`passwort`,
`freetitel`,
`vorname`,
`nachname`,
`geburtstag`,
`herkunft`,
`geschlecht`,
`email`,
`homepage`,
`icq`,
`avater`,
`registriert`,
`mail`,
`geb`)
VALUES ('$rang',
'$nickname',
'$md5pw',
'$freetitel',
'$vorname',
'$nachname',
'$geburtstag',
'$herkunft',
'$geschlecht',
'$email',
'$homepage',
'$icq',
'images/user/$nickname.jpg',
'$registriert',
'$mail',
'$geb')";
//das bild hochladen
$tempname = $_FILES['file']['tmp_name'];
$name = $_FILES['file']['name'];
$type = $_FILES['file']['type'];
$size = $_FILES['file']['size'];
$uploadname = "images/user/$nickname.jpg"; //pfad zum bild
if($size > "2000") //prüfen, ob die datei größer ist, als 2b
{
$err[] = "Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 2 MB!";
}
if (empty($error))
{
move_uploaded_file ($tempname, $uploadname);
echo "hochgeladen";
echo ("hochgeladen");
}
else
{
foreach ($error as $err) echo ($err."<br>");
}
//überprüfen, ob der query richtig ausgeführt wurde, wenn ja, weiterleiten, wenn nicht, fehler
if (mysql_db_query($DBName, $User, $Link))
{
header ("location: index.php?section=registrieren®=1"); //wenn alles ok, weiterleiten
}
else
{
header ("location: index.php?section=registrieren®f=1"); //wenn fehler, zurück mit fehlermeldung
}
} //else zuende
?>
Danke im Vorraus
David