Jump to content
- Werbung nur für Gäste -

IGNORIERT

PHP - Registrieren - Problem


JND3004

Recommended Posts

hallo leute,

ich habe ein problem mit der datenbank etc.

und zwar; wenn man alle nötigen sachen eingetragen hat und es abschickt, meint er das dass formular nicht vollständig wäre.

hier mal der inhalt der logik

<?php

if(!isset($_POST['submit'])) return;


if(!isset($_POST['vorname']) || !isset($_POST['nachname']) || !isset($_POST['email']) || !isset($_POST['passwort']) || !isset($_POST['geschlecht']) || !isset($_POST['geburtstag']) ||
empty($_POST['vorname']) || empty($_POST['nachname']) || empty($_POST['email']) || empty($_POST['passwort']) || empty($_POST['geschlecht']) || empty($_POST['geburtstag'])) {

$error_msg = "Das Formular wurde nicht vollständig ausgefüllt.";
return;

}
//VORNAME
if(strlen($_POST['vorname']) < 3) {
$error_msg = "Der Vornahme ist zu kurz.";
return;
}

$_POST['vorname'] = trim($_POST['vorname']);


//NACHNAME
if(strlen($_POST['nachname']) < 3) {
$error_msg = "Der Nachname ist zu kurz.";
return;
}

$_POST['nachname'] = trim($_POST['nachname']);


// EMAIL
if($_POST['email'][0] !== $_POST['email'][1]) {
$error_msg = "Die E-Mail-Adressen stimmen nicht überein.";
return;
}


// PASSWORT
if($_POST['pass'][0] !== $_POST['pass'][1]) {
$error_msg = "Die Passwörter stimmen nicht überein.";
return;
}

if(strlen($_POST['pass'][0]) > 30) {
$error_msg = "Das Passwort ist zu lang.";
return;
}

if(strlen($_POST['pass'][0]) < 8) {
$error_msg = "Das Passwort ist zu kurz.";
return;
}


//GESCHLECHT
if(strlen($_POST['geschlecht']) < 1) {
$error_msg = "Die Zeichen vom Geschlecht sind zu kurz.";
return;
}


//GEBURTSTAG
if(strlen($_POST['geburtstag']) < 1) {
$error_msg = "Die Zeichen vom Geburtstag sind zu kurz.";
return;
}


if(!filter_var($_POST['email'][0], FILTER_VALIDATE_EMAIL)) {
$error_msg = "Die E-Mail-Adresse ist ungültig.";
return;
}

$user_ip = ip2long ($_SERVER['REMOTE_ADDR']);

$sql = '
	INSERT INTO
				user
				(Vorname, Nachname, Email, Password, Geschlecht, Geburtstag, IP, date)

	VALUES
				(?, ?, ?, ?, ?, ?, ?, NOW())';

$stmt = $db->prepare($sql);
$pass = hash('sha256', $_POST['password'][0].$salt);
$email = $_POST['email'][0];
$stmt->bind_param('sssi', $_POST['vorname'], $password, $email, $user_ip);


$stmt->close();

$success_msg = "Das Benutzerkonto für den Namen <b>".htmlspecialchars($_POST['vorname + nachname'])."</b> wurde erfolgreich angelegt";
?>

ich hoffe ihr könnt mir weiter helfen, ich finde einfach kein lösung.

falls ihr mehr daten braucht sagt bitte bescheid ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

- Werbung nur für Gäste -

jzt habe ich es so verändert

// PASSWORT
if($_POST['passwort'][0] !== $_POST['passwort'][1]) {
$error_msg = "Die Passwörter stimmen nicht überein.";
return;
}

if(strlen($_POST['passwort'][0]) > 30) {
$error_msg = "Das Passwort ist zu lang.";
return;
}

if(strlen($_POST['passwort'][0]) < 8) {
$error_msg = "Das Passwort ist zu kurz.";
return;
}

aber den fehler meint er trotzdem noch

Link zu diesem Kommentar
Auf anderen Seiten teilen

so, hab gemacht.

schätze soweit richtig, nur bloß...

Fatal error: Call to a member function bind_param() on a non-object in /data/multiserv/users/703938/projects/2182901/www/register/registration_logic.php on line 87

zeile 87:

	$stmt->bind_param('sssi', $_POST['vorname'], $pass, $email, $user_ip);

Vorheriger Post um 03:22

Post hinzugefügt um 03:39

so, hab jzt nochmal rumprobiert.

jzt zeigt er keine fehler an und meint das er dass konto angelegt hätte. aber dies hatte er garnicht gemacht. ich weis aber noch nicht wieso, vl finde ich es noch heraus ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

- Werbung nur für Gäste -

hier nochmal meine aktuellste lage da ich schon was gemacht hab.

es funktioniert soweit alles, er zeigt mir auch an das er es angelegt hätte, nur wenn ich dann in der db nachschaue wurde dort nichts eingetragen.

und hier nochmal meine aktuelle registration_logic

<?php

if(!isset($_POST['submit'])) return;


if(!isset($_POST['vorname']) || !isset($_POST['nachname']) || !isset($_POST['email']) || !isset($_POST['pass'][0]) || !isset($_POST['geschlecht']) || !isset($_POST['geburtstag']) ||
empty($_POST['vorname']) || empty($_POST['nachname']) || empty($_POST['email']) || empty($_POST['pass'][0]) || empty($_POST['geschlecht']) || empty($_POST['geburtstag'])) {

$error_msg = "Das Formular wurde nicht vollständig ausgefüllt.";
return;

}
//VORNAME
if(strlen($_POST['vorname']) < 3) {
$error_msg = "Der Vornahme ist zu kurz.";
return;
}

$_POST['vorname'] = trim($_POST['vorname']);


//NACHNAME
if(strlen($_POST['nachname']) < 3) {
$error_msg = "Der Nachname ist zu kurz.";
return;
}

$_POST['nachname'] = trim($_POST['nachname']);


// EMAIL
if($_POST['email'][0] !== $_POST['email'][1]) {
$error_msg = "Die E-Mail-Adressen stimmen nicht überein.";
return;
}


// PASSWORT
if($_POST['pass'][0] !== $_POST['pass'][1]) {
$error_msg = "Die Passwörter stimmen nicht überein.";
return;
}

if(strlen($_POST['pass'][0]) > 30) {
$error_msg = "Das Passwort ist zu lang.";
return;
}

if(strlen($_POST['pass'][0]) < 8) {
$error_msg = "Das Passwort ist zu kurz.";
return;
}


//GESCHLECHT
if(strlen($_POST['geschlecht']) < 1) {
$error_msg = "Die Zeichen vom Geschlecht sind zu kurz.";
return;
}


//GEBURTSTAG
if(strlen($_POST['geburtstag']) < 1) {
$error_msg = "Die Zeichen vom Geburtstag sind zu kurz.";
return;
}


if(!filter_var($_POST['email'][0], FILTER_VALIDATE_EMAIL)) {
$error_msg = "Die E-Mail-Adresse ist ungültig.";
return;
}

$user_ip = ip2long ($_SERVER['REMOTE_ADDR']);

$sql = '
	INSERT INTO
				user
				(vorname, nachname, email, passwort, geschlecht, geburtstag, ip, date)

	VALUES
				(?, ?, ?, ?, ?, ?, ?, NOW())';

$stmt = $db->prepare($sql);
$pass = hash('sha256', $_POST['pass'][1].$salt);
$email = $_POST['email'][0];
$stmt->bind_param('ssssssi', $_POST['vorname'], $nachname, $email, $pass, $geschlecht, $geburtstag, $user_ip);


$stmt->close();

$success_msg = "Das Benutzerkonto für den Namen <b>".htmlspecialchars($_POST['vorname'])." ".htmlspecialchars($_POST['nachname'])."</b> wurde erfolgreich angelegt.";
?>

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.
Wende dich an einen Admin, wenn du in diesem Thema etwas posten möchtest.

×
×
  • Neu erstellen...