Создание записи и ее проверка

Deus_Seer

Новичок
Всем доброго времени суток. Появилась задача, добавлять данные в базу через браузер.
PHP:
<?php
$con=mysqli_connect("ххх","хххх","ххх","ххх");


$email = $_POST['email'];
$manager = $_POST['manager'];
$data= $_POST['data'];


$check="SELECT email FROM Clients WHERE email = $_POST[email]";
$rs = mysqli_query($con, $check);
$data = mysqli_fetch_array($rs, MYSQLI_NUM);
if($check != true) {
    echo "User Already in Exists<br/>";
}

else
{
    $new="INSERT INTO Clients (email, manager, data) values('$email','$manager','$data')";
    if (mysqli_query($con, $new))
    {
        echo "You are now registered<br/>";
    }
    else
    {
        echo "Error adding user in database<br/>";
    }
}


?>
Вот код который сделал, проблема в том, что он создает новую запись в базе, но игнорирует проверку. При некоторых изменениях может выводить постоянную ошибку о том, что почта уже добавлена.

Как правильно настроить проверку?? С Php знаком недавно, по этому и такой простой вопрос поставил в тупик.
 

jonjonson

Охренеть
Напишите для каждой строчки кода объяснение, что она делает.
Например, что и с чем вы сравниваете в ($check != true) ?
 

Deus_Seer

Новичок
Напишите для каждой строчки кода объяснение, что она делает.
Например, что и с чем вы сравниваете в ($check != true) ?
PHP:
<?php
$con=mysqli_connect("ххх","хххх","ххх","ххх");  //Конект к базе сервера.


$email = $_POST['email'];    //   
$manager = $_POST['manager'];    //
$data= $_POST['data'];    //


$check="SELECT email FROM Clients WHERE email = $_POST[email]";     //Проверяет, если email уже есть в базе
$rs = mysqli_query($con, $check);    //   
$data = mysqli_fetch_array($rs, MYSQLI_NUM);    //
if($check != true) {    // Проверяет наличие переменной в базе, если нет, то добавляет.
    echo "User Already in Exists<br/>";
}

else    //
{
    $new="INSERT INTO Clients (email, manager, data) values('$email','$manager','$data')"; // Добавляет новые значения.
    if (mysqli_query($con, $new))
    {
        echo "You are now registered<br/>";
    }
    else
    {
        echo "Error adding user in database<br/>";        // ошибка
    }
}


?>
 

jonjonson

Охренеть
Проблем много. Как вариант - найти исполнителя.
А здесь учатся, а не списывают.
 

Deus_Seer

Новичок
Проблем много. Как вариант - найти исполнителя.
А здесь учатся, а не списывают.
Вот написанный мной, но он не хочет работать во все. Вот я и отправился на поиски в интернет, где нашел и отредактировал предыдущий код.
PHP:
<?php
$host = "192.***.***.***";
$user = "******";
$password = "*****";
$db = "westartn_email";
if (!$conn = mysql_connect($host, $user, $password))
{
echo "<h2>MySQL Error!</h2>";
exit;
}
$email = $_POST['email'];
$manager = $_POST['manager'];
$data= $_POST['data'];
 
 
 
 
mysql_select_db($db);

$result = mysql_query("SELECT email FROM Clients WHERE email='$email'");
$myrow = mysql_fetch_array($result);
if (!empty($myrow['id'])) {
exit ("Извините, введённый вами логин уже зарегистрирован. Введите другой логин.");
}

 
header("Location: index.php");     
?>
 

jonjonson

Охренеть
Нужно за кодом не в интернет ходить, а в свою голову)
Как я понимаю, вы не учитесь, а ищете готовые решения. Мало того, вы относитесь к ним как к магическим заклинаниям. Повторил и вот всё получилось само собой. Ладно.
"SELECT email FROM Clients WHERE email='$email'"
Какие поля вернёт этот SQL запрос?
Какое поле вы проверяете дальше?
 

Deus_Seer

Новичок
Нужно за кодом не в интернет ходить, а в свою голову)
Как я понимаю, вы не учитесь, а ищете готовые решения. Мало того, вы относитесь к ним как к магическим заклинаниям. Повторил и вот всё получилось само собой. Ладно.

Какие поля вернёт этот SQL запрос?
Какое поле вы проверяете дальше?
Проверит существует-ли вводимый нами email в нашей базе. Возвращает emаil из базы и проверяет его с тем, что мы ввели.
Потом мы проверяем правильность ответа от базы.
 

jonjonson

Охренеть
Я на сегодня не могу вам больше помочь.
У вас нет достаточных знаний, что бы писать не то что функцию, а просто код, который бы выполнял ваши желания.
Значит ответ - учиться через разбор всех строчек кода и получение понимания, что они делают, что возвращается и в каком виде.
 
Сверху