<?php $db = mysqli_connect("localhost" , "root" , "" , "reg") or die ("DataBase Error"); ?> <!DOCTYPE html> <html lang="ru"> <head> <title>Instagram</title> <meta charset="utf-8"> <style type="text/css"> </style> </head> <body> <?php if(!isset($_POST['send'])){ ?> <div class="container"> <form action="register.php" method="post"> <input type="text" name="login" placeholder="Put ur login"> <input type="password" name="password" placeholder="Put ur password"> <input type="submit" name="send" value="Registration"> </form> <?php } if (isset($_POST['send']) && !empty($_POST['login']) && !empty($_POST['password'])){ $queryL = "SELECT id FROM reg WHERE login = '".$_POST['login']."'"; $resL = mysqli_query($db , $queryL) or die ("Server Error #1"); if(mysqli_num_rows($resL)>0){ echo "This login already used!"; } else{ $query = "INSERT INTO reg (login, password) VALUES ('".$_POST['login']."', sha1('".$_POST['password']."'))"; } mysqli_query($db, $query) or die ("Server Error #2"); echo("Reg is success!"); } else{ echo "Reg is fail, try again!"; } mysqli_close($db); ?> </div> </body> </html>
нет, там дело в условии, я же вроде отвечал уже: PHP: <?php $db = mysqli_connect("localhost" , "root" , "" , "reg") or die ("DataBase Error"); ?> <!DOCTYPE html> <html lang="ru"> <head> <title>Instagram</title> <meta charset="utf-8"> <style type="text/css"> </style> </head> <body> <?php if(!isset($_POST['send'])){ ?> <div class="container"> <form action="register.php" method="post"> <input type="text" name="login" placeholder="Put ur login"> <input type="password" name="password" placeholder="Put ur password"> <input type="submit" name="send" value="Registration"> </form> <?php } if (isset($_POST['send']) && !empty($_POST['login']) && !empty($_POST['password'])){ $queryL = "SELECT id FROM reg WHERE login = '".$_POST['login']."'"; $resL = mysqli_query($db , $queryL) or die ("Server Error #1"); if(mysqli_num_rows($resL)>0){ echo "This login already used!"; } else{ $query = "INSERT INTO reg (login, password) VALUES ('".$_POST['login']."', sha1('".$_POST['password']."'))"; mysqli_query($db, $query) or die ("Server Error #2"); echo("Reg is success!"); } } else{ echo "Reg is fail, try again!"; } mysqli_close($db); ?> </div> </body> </html> предполагаю что sha1 существует из за этой ссылки https://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html#function_sha1 если нет то надо вынести отдельно
Благодарю, но я не думаю, что ошибка в этом... Она просто выводит ту строчку, где сказано: Server Error #2 --- Добавлено --- Убрал SHA1 все равно не работает...
Вы перенесли Код (Text): mysqli_query($db, $query) or die ("Server Error #2"); echo("Reg is success!"); в блок с $query=...? И про SQL-инъекции почитайте. --- Добавлено --- И нормально разделите обработку GET- и POST-запросов, заканчивайте обработку POST-запроса редиректом, запросы к БД делайте до начала вывода контента. В таком виде делать предварительный SELECT особого смысла нет. Делайте сразу INSERT и см. на результат (если будет ошибка дублирующегося ключа, значит занято). --- Добавлено --- P.S. Какого... вы запостили ЭТО в данном разделе. В разделе для новичков самое место.