Как я могу получить данные о пользователях и вставить их в другую таблицу?

0

Я хочу, чтобы пользователь (в настоящее время вошел в систему) и его/ее uid из таблицы базы данных, а затем вставьте его в другую таблицу. Я попытался, но я получаю пустые результаты, которые находятся в uid и электронной почте.

 <?php

    session_start();


     if(isset($_POST['button'])){

     $bidamount = $_POST['bidamount'];
     $email = $_SESSION['$u_email'];
     $uid = $_SESSION['$u_uid'];

     //TO ALERT SUBMISSION OF BLANK FIELDS(IT DOESN'T PREVENT SUBMISSION OF BLANK FIELD THOUGH)
     if (!$bidamount){
         echo "can't submit blank fields";
     }

     //TO CONFIRM YOU ARE CONNECTED TO YOUR DATABASE (OPTIONAL)
     $connection = mysqli_connect('localhost', 'root', '', 'tickmill_auctions');
     if ($connection){
         header ("Location: ../Afterlogin.php?action=success");
     }else{
         die("connection failed");
     }
     //TO INSERT username and password from field to jossyusers database
     $query = "INSERT INTO orders(bidamount,email,uid) VALUES('$bidamount','$email','$uid')";
     $result = mysqli_query($connection, $query);
     if(!$result){
         die("OOPPS! query failed".mysqli_error($connection));
      }
    }

    ?>
  • 0
    Ваш код широко открыт для SQL-инъекций. Используйте подготовленные операторы со связанными параметрами вместо того, чтобы объединять ваш запрос таким образом. Никогда не доверяйте пользовательским данным.
Теги:

1 ответ

0
Лучший ответ

Это выглядит неправильно, так как я вижу переменные в вашем скрипте с именами $u_email и $u_uid

$email = $_SESSION['$u_email'];
$uid = $_SESSION['$u_uid'];

Удалите знаки $ и попробуйте

 $email = $_SESSION['u_email'];
 $uid = $_SESSION['u_uid'];

Альтернативно, если вы действительно используете эти переменные, используйте двойные кавычки вместо одиночных кавычек, подобных этому

$email = $_SESSION["$u_email"];
$uid = $_SESSION["$u_uid"];

ПРЕДУПРЕЖДЕНИЕ: ваш скрипт широко открыт для атаки SQL Injection Даже если вы избегаете ввода, это небезопасно! Использовать подготовленные параметризованные утверждения

Также во время тестирования добавьте

    ini_set('display_errors', 1); 
    ini_set('log_errors',1); 
    error_reporting(E_ALL); 
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

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

  • 0
    вау .. не видел этого Это работает сейчас. Большое спасибо.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню