За последние 24 часа нас посетили 21600 программистов и 1067 роботов. Сейчас ищут 875 программистов ...

Не отправляет запрос Mysql

Тема в разделе "PHP для новичков", создана пользователем Suyunoff, 28 июл 2019.

Метки:
  1. Suyunoff

    Suyunoff Новичок

    С нами с:
    16 июл 2019
    Сообщения:
    38
    Симпатии:
    1
    Привет! делал регистрацию на сайт с реф.ссылкой. она несколько дней работал без ошибок, потом хотел добавить подтверждение email. но не получалось потом все назад сделал,теперь у меня когда регистрируюсь не отправляет запрос в таблицу users, нажимаю "Регистрацию' страница просто обновляется и все, но в таблицу referals сохраняются id зарегистрившего пользователя
    upload_2019-7-28_10-2-49.png
    соединение с бд
    Код (Text):
    1. <?
    2. session_start();
    3. $con = mysqli_connect('localhost', 'root', '', 'help');
    4.  
    5. ?>
    таблица users:
    upload_2019-7-28_10-3-53.png
     
  2. Suyunoff

    Suyunoff Новичок

    С нами с:
    16 июл 2019
    Сообщения:
    38
    Симпатии:
    1
    кажется ошибка не в коде, она только что 1 раз работал нормально, одного пользователя как то добавил , но потом опять перестал работать\
     
  3. Suyunoff

    Suyunoff Новичок

    С нами с:
    16 июл 2019
    Сообщения:
    38
    Симпатии:
    1
    пробовал удалить денвер и заново скачать,ничего не получается, в таблицу referals заносятся данные а таблица users вообще не работает
     
  4. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    проверяй на ошибки

    https://www.php.net/manual/ru/mysqli.error.php

    PHP:
    1. if (!$mysqli->query("SET @a:='this will not work'")) {
    2.         printf("Ошибка: %s\n", $mysqli->error);
    3. }
    если бы ты вместо скрина кода, вставил бы сюда сам код было бы лучше.
     
    Suyunoff нравится это.
  5. Suyunoff

    Suyunoff Новичок

    С нами с:
    16 июл 2019
    Сообщения:
    38
    Симпатии:
    1
    Код (Text):
    1. <?php
    2. session_start();
    3. include "db.php";
    4. if (!empty($_SESSION['logged_user']->id)) header('location: check.php');
    5. if (isset($_POST['login'])) {
    6.   if (!empty($_POST['name']) && !empty($_POST['email']) && !empty($_POST['password'])) {
    7.       $name     = $_POST['name'];
    8.       $email    = $_POST['email'];
    9.       $password = $_POST['password'];
    10.       $ref = $_SESSION['ref_id'];
    11.        
    12.        if(mysqli_num_rows(mysqli_query($con, "SELECT id FROM users WHERE name = '$name'"))!= 0) $error = "Пользователь с таким ником уже существует";
    13.       else if(mysqli_num_rows(mysqli_query($con, "SELECT id FROM users WHERE email = '$email'"))!= 0) $error = "Пользователь с таким email уже существует";
    14.       else {
    15.         mysqli_query($con, "INSERT INTO `users` (name,email,password VALUES('$name', '$email', '$password')");
    16.      
    17.         $as = mysqli_query($con, "SELECT id FROM users WHERE email = '$email'");
    18.         $a = mysqli_fetch_assoc($as);
    19.         $i = $a['id'];
    20.         $_SESSION['logged_user']->id = $i;
    21.         $user = mysqli_query($con, "SELECT `id` FROM `users` WHERE `email` = '$email'");
    22.         $a = mysqli_fetch_assoc($user);
    23.         $us=$a['id'];
    24.         $query = mysqli_query($con, "INSERT INTO `referals` (id, id_user, id_usser)
    25.         VALUES('','$us', '$ref')");
    26.  
    27.  
    28. }
    29.  
    30. }else $error = "Заполните все поля";
    31. }
    32. echo $error;
    33. ?>
    на ошибки проверял,не работал,возможно неправильно проверял,куда написать код для вывода ошибки?
     
  6. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    как то так, но это все последовательно делается когда пишется код:
    PHP:
    1. <?php
    2. include "db.php";
    3. if (!empty($_SESSION['logged_user']->id)) header('location: check.php');
    4. if (isset($_POST['login'])) {
    5.   if (!empty($_POST['name']) && !empty($_POST['email']) && !empty($_POST['password'])) {
    6.       $name     = $_POST['name'];
    7.       $email    = $_POST['email'];
    8.       $password = $_POST['password'];
    9.       $ref = $_SESSION['ref_id'];
    10.  
    11.       if ($result = mysqli_query($con, "SELECT id FROM users WHERE name = '$name'")) {
    12.  
    13.           $row_cnt = mysqli_num_rows($result);
    14.  
    15.           if($row_cnt !== 0){
    16.             $error = "Пользователь с таким ником уже существует";
    17.  
    18.           }else if{
    19.             if ($result = mysqli_query($con, "SELECT id FROM users WHERE email = '$email'")){
    20.  
    21.               $row_cnt = mysqli_num_rows($result);
    22.  
    23.               if($row_cnt !== 0){
    24.  
    25.                 $error = "Пользователь с таким email уже существует";
    26.  
    27.               }else{
    28.                 if (mysqli_query($con, "INSERT INTO `users` (name,email,password VALUES('$name', '$email', '$password')"){
    29.                
    30.                   if ($as = mysqli_query($con, "SELECT id FROM users WHERE email = '$email'")){
    31.                     $a = mysqli_fetch_assoc($as);
    32.                     $i = $a['id'];
    33.                     $_SESSION['logged_user']->id = $i;
    34.                     if($user = mysqli_query($con, "SELECT `id` FROM `users` WHERE `email` = '$email'")){
    35.                       $a = mysqli_fetch_assoc($user);
    36.                       $us=$a['id'];
    37.                       if($query = mysqli_query($con, "INSERT INTO `referals` (id, id_user, id_usser) VALUES('','$us', '$ref')")){
    38.  
    39.                       }else{
    40.                         printf("Ошибка: %s\n", $mysqli->error);
    41.                       }
    42.                     }else{
    43.                       printf("Ошибка: %s\n", $mysqli->error);
    44.                     }
    45.  
    46.                   }else{
    47.                     printf("Ошибка: %s\n", $mysqli->error);
    48.                   };
    49.  
    50.                 }else{
    51.                   printf("Ошибка: %s\n", $mysqli->error);
    52.                 }
    53.               }
    54.  
    55.             }else{
    56.               printf("Ошибка: %s\n", $mysqli->error);
    57.             }
    58.  
    59.           }
    60.  
    61.       }else{
    62.         printf("Ошибка: %s\n", $mysqli->error);
    63.       }
    64.   }
    65. }else {
    66.  
    67.   $error = "Заполните все поля";
    68. }
    69. }
    70. echo $error;
    71. ?>
    напишите заново все, проверяйте на ошибку каждый запрос. и sql инъекции тут спокойно проходят