Tag,
war eine lange zeit nicht aktiv mit Php und wollte mal wieder reinkommen. Hab jetzt grad 2 Probleme die mich verwirren.
1. Bei Filter_input muss man ja eine Variable reinschreiben wie Input_filter(input_post, 'variable', filter_sanitize_string);
Was bewirkt die Variable ?
2. Wollte mal ganz einfach kurz ein Script das ein Datensatz einfügt. Es ist ganz einfach und soll jetzt nix mit sicherheit oder so erstmals zun haben. Es sagt mir nur "Name zu kurz" und das die ganze zeit.
ZitatPHPAlles anzeigen<form action="" method="POST"> <?php if(isset($_POST['senden'])) { $error = ''; $vorname = filter_input(INPUT_POST, 'vorname', FILTER_SANITIZE_STRING); $nachname = filter_input(INPUT_POST, 'nachname', FILTER_SANITIZE_STRING); $email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL); $email = filter_var($email, FILTER_VALIDATE_EMAIL); if(!filter_var($email, FILTER_VALIDATE_EMAIL)) { $error = 'email fail'; } $password = FILTER_INPUT(INPUT_POST, 'p', FILTER_SANITIZE_STRING); if(strlen($vorname > 36)) { $error = 'Name zu lang'; } elseif(strlen($vorname < 3)) { $error = 'Name zu kurz'; } if(empty($error)) { $sql = "INSERT INTO account (email, password, vorname, nachname) VALUES (?, ?, ?, ?)"; $insert = $con->prepare($sql); $insert->BindValue(1, $email); $insert->BindValue(2, password_hash($password, PASSWORD_DEFAULT)); $insert->BindValue(3, $vorname); $insert->BindValue(4, $nachname); if(!$insert->execute()) { echo 'fail'; } else { echo 'ok'; } } } ?> <?php if(isset($error)) { echo $error; } ?> <p><input name="vorname" placeholder="vorname" required> <input name="nachname" placeholder="nachname" required></p> <p><input type="email" name="email" placeholder="email" required> <input type="password" name="password" placeholder="password" required></p>