Форма регистрации MySQL MySQL не работает, никаких ошибок [дублировать]

Zeljo спросил: 28 марта 2018 в 02:25 в: php

У этого вопроса уже есть ответ:

  • Can I mix MySQL APIs in PHP? 5 ответов

У меня проблема с формой регистра, созданной в php mysql. У меня есть форма в html и php-части с подключением к db и вставкой запроса. Мне нужно получить входные данные из формы с методом _POST и вставить в db. Нет ошибок, которые он просто не представляет.

Вот мой код:

<form action="registriraj.php" method="post" >
                <div class="wrap-input100 validate-input m-b-23" data-validate = "Username is reauired">
                    <span class="label-input100">Ime:</span>
                    <input class="input100" type="text" name="imeregistracija" placeholder="Upišite ime">
                    <span class="focus-input100" data-symbol="&#xf206;"></span>
                </div>                <div class="wrap-input100 validate-input" data-validate="Password is required">
                    <span class="label-input100">Prezime:</span>
                    <input class="input100" type="text" name="prezimeregistracija" placeholder="Upišite prezime">
                    <span class="focus-input100" data-symbol="&#xf206;"></span>
                </div>                <div class="wrap-input100 validate-input m-b-23" data-validate = "Username is reauired" style="margin-top: 20px;">
                    <span class="label-input100">E-mail</span>
                    <input class="input100" type="email" name="emailregistracija" placeholder="Upišite E-mail">
                    <span class="focus-input100" data-symbol="&#xf206;"></span>
                </div>                <div class="wrap-input100 validate-input" data-validate="Password is required">
                    <span class="label-input100">Lozinka</span>
                    <input class="input100" type="password" name="passregistracija" placeholder="Upišite lozinku">
                    <span class="focus-input100" data-symbol="&#xf190;"></span>
                </div>            <button type="submit" class="btn btn-outline " style="background-color:#ff6e00;margin-top: 25px;" name="submit">Registriraj korisnika</button>          </form></div></center>

PHP-код:

<?php
$connection = mysql_connect("localhost", "root", ""); // Establishing Connection with Server
$db = mysql_select_db("baza", $connection); // Selecting Database from Server
if(isset($_POST['submit'])){ // Fetching variables of the form which travels in URL
$imeregistracija = $_POST['imeregistracija'];
    $prezimeregistracija = $_POST['prezimeregistracija'];
    $emailregistracija = $_POST['emailregistracija'];
    $passregistracija = $_POST['passregistracija'];
if($imeregistracija !=''||$passregistracija !=''){
//Insert Query of SQL
$query = "INSERT INTO `users` (`ime`, `prezime`, `user_pass`, `user_email`) VALUES ('dva','jedan','tri','cetri')";
echo "<br/><br/><span>Data Inserted successfully...!!</span>";
mysqli_query($connection, $query);
}
else{
echo "<p>Insertion Failed <br/> Some Fields are Blank....!!</p>";
}
}
mysql_close($connection); // Closing Connection with Server
?>

2 ответа

Есть решение
Akshay Parate ответил: 28 марта 2018 в 02:33

сначала проверьте, подключены ли вы к базе данных. Затем измените $db = mysql_select_db("baza", $connection); на улучшенную версию mysqli stmt, т.е. $db = mysqli_select_db($connection ,"baza");, и ваш код не защищен от SQL-инъекций. Это поможет вам

Zeljo ответил: 28 марта 2018 в 02:38
Спасибо за ответ @ Акшай Парате и Крис85. Теперь работает спасибо :)
Akshay Parate ответил: 28 марта 2018 в 02:39
Переключайте зеленую галочку, когда будет опубликовано что-то лучшее: meta.stackexchange.com/questions/62252/…
chris85 ответил: 28 марта 2018 в 02:40
Необходимо сделать больше, чем mysqli_select_db.
Aliaksandr Sushkevich Owais Noor ответил: 28 марта 2018 в 03:10

Это расширение mysql_connect and mysql_select_db устарело в PHP 5.5.0 и удалено в PHP 7.0.0. Вместо этого следует использовать расширение MySQLi или PDO_MySQL. Используйте mysqli_select_db() и mysqli_connect()

Zeljo ответил: 28 марта 2018 в 02:54
Теперь все работает, но когда я нажимаю кнопку "Отправить", пользователь регистрируется, а затем форма очищается. Я нажимаю F5, чтобы обновить страницу, и она вставляет данные из последнего ввода, я не знаю, почему
Owais Noor ответил: 28 марта 2018 в 03:08
Да, это проблема php ... Сделайте одно ... После того, как вы отправите форму, перезагрузите страницу, используя заголовок ('location:' yourFprmPage.php ');