Итак, я только начал изучать php, и я не могу понять, что я делаю неправильно, данные не регистрируются в базе данных на mysql. Я использую xampp. Все имена и данные написаны правильно. Я проверил все функции ... Все еще не работает.как хранить данные в mysql с php
<DOCTYPE html>
<html>
<head>
<title>New Account</title>
</head>
<body>
<?php
/*
Implementare:
-functie de verificare daca functia exista in baza de date
-function bool_email($POST_('email adress'))
-functie comparare stringuri
*/
$name = '';
$password = '';
$gender = '';
$email = '';
$tc = '';
if(isset($_POST['submit']))
{
$ok = true;
if(!isset($_POST['name']) || $_POST['name'] === '' /*bool_name_exist($the string)*/)
{
$ok = false;
printf("You forget about name or it exist already in the database!");
echo '<br>';
}
else
{
$name = $_POST['name'];
}
if(!isset($_POST['password']) || $_POST['password'] === '')
{
$ok = false;
printf('You forget about password!');
echo '<br>';
}
else
{
$password = $_POST['password'];
}
if(!isset($_POST['password_conf']) || $_POST['password_conf'] === '' || strcmp($_POST['password'], $_POST['password_conf']) != 0)
{
$ok = false;
printf('You forget about password or password conf. does not match!');
echo '<br>';
}
if(!isset($_POST['email']) || $_POST['email'] === '' /*functie care verifica daca emailul e valid sau este in baza de date*/)
{
$ok = false;
printf('You forget about email or your email address is not validate!');
echo '<br>';
}
else
{
$email = $_POST['email'];
}
if(!isset($_POST['gender']) || $_POST['gender'] === '')
{
$ok = false;
printf('You forget about gender!');
echo '<br>';
}
else
{
$gender = $_POST['gender'];
}
if(!isset($_POST['tc']) || $_POST['tc'] === '')
{
$ok = false;
printf('You need to validate t&c!');
echo '<br>';
}
else
{
$tc = $_POST['tc'];
}
if($ok === true)
{
printf('your account has been registered');
}
if($ok)
{
$db = mysqli_connect('localhost', 'root', '', 'platformaworkout');
$sql = sprintf("INSERT INTO registerdata (Name, Gender, Password, Email), VALUES ('%s', '%s', '%s', '%s') ",
mysqli_real_escape_string($db, $name),
mysqli_real_escape_string($db, $gender),
mysqli_real_escape_string($db, $password),
mysqli_real_escape_string($db, $email));
printf('<br>%s', $sql);
if(mysqli_query($db, $sql))
{
echo '<br>it work';
}else
{
echo '<br>I want to kill myself...';
}
mysqli_close($db);
echo '<p>user added</p>';
}
}
?>
<form method="post" action="">
<header>Register new account:<br></header>
UserName:<input type="text" name="name" value="<?php echo htmlspecialchars($name); ?>"><br>
Password:<input type="password" name="password" value="<?php echo htmlspecialchars($password); ?>"><br>
Password confirmation:<input type="password" name="password_conf"><br>
Gender:
<input type="radio" name="gender" value="f" <?php if($gender === 'f'){echo 'checked';}?>>female
<input type="radio" name="gender" value="m" <?php if($gender === 'm'){echo 'checked';}?>>male<br>
Email Address:<input type="text" name="email" value="<?php echo htmlspecialchars($email); ?>"><br>
<input type="checkbox" name="tc" value="ok" <?php if($tc === 'okay'){echo 'checked';}?>>I accept t&c!<br>
<a src="#">Read t&c!</a>
<input type="submit" name="submit" value = "submit">
</form>
</body>
</html>
What I see in the browser My database structure
Вы видите сообщение 'user added'? (Я думаю, что вы забыли связать свои переменные?) –
Пожалуйста, научитесь использовать параметры с самого начала. Это упростит ситуацию. –
Я видел сообщение «пользователь добавил», также я пытаюсь напечатать переменные, он работает – Jarlio