leo.kaleb Ответов: 2

Php редирект после оповещения


Добрый день всем!

как я могу перенаправить оповещение (ваша учетная запись готова) на страницу входа в систему?

Проверьте мой код, заранее спасибо!

Что я уже пробовал:

if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
  if(isset($_POST['submit'])){
  $un = $_POST['u_name'];
  $em = $_POST['email'];
  $ps = $_POST['pswd'];
  $cps = $_POST['cpswd'];
  $p = $_POST['phone'];
  $bd = $_POST['address'];
 $fname = $_POST['fname'];
  $lname = $_POST['lname'];  
      $binp = $_POST['binp']; 
         $amm = $_POST['amm'];
$bname = $_POST['bname'];  
      $acc = $_POST['acc']; 
      $rnumber = $_POST['rnumber']; 
$sql = "INSERT INTO registration_form (username,email,password,phone,Address,fname,lname, binp, amm, bname, acc, rnumber)
VALUES ('$un','$em','$ps','$p','$bd','$fname','$lname','$binp','$amm','$bname','$acc','$rnumber')";
if($ps==$cps){
if (mysqli_query($conn, $sql)) {
?>
  <script type="text/javascript">alert("Your account is ready!");</script>

  <?php
} else {

    $error = "Error: " . mysqli_error($conn);
    ?>
    <script type="text/javascript"></script>
    <script type="text/javascript">alert("<?php echo $error; ?>");</script>
<?php
}
} else {
  ?>
  <script type="text/javascript">alert("Please Enter Correct Password and Try Again!");</script>
  <?php
}  
}

?>

2 Ответов

Рейтинг:
12

MadMyche

Добавьте еще одну строку в этот блок JS

<script type="text/javascript">
   alert("Your account is ready!");
   window.location = "http://www.yoururl.com";
</script>


leo.kaleb

он частично работает, когда я вхожу в регистрационную форму, оповещение подсказывает, не нажимая на регистр btn, и перенаправляет на логин.

MadMyche

Извините, но я не очень хорошо разбираюсь в PHP. Как говорится в решении 2, в этом коде есть проблемы.

leo.kaleb

Спасибо, что уделили мне время! я решил эту проблему! поставил линию не в то место! Хорошего дня!

Рейтинг:
1

Patrice T

$sql = "INSERT INTO registration_form (username,email,password,phone,Address,fname,lname, binp, amm, bname, acc, rnumber)
VALUES ('$un','$em','$ps','$p','$bd','$fname','$lname','$binp','$amm','$bname','$acc','$rnumber')";

Не решение вашего вопроса, а еще одна проблема, которая у вас есть.
Никогда не создавайте SQL-запрос путем объединения строк. Рано или поздно вы сделаете это с помощью пользовательских вводов, и это откроет дверь к уязвимости под названием "SQL-инъекция", она опасна для вашей базы данных и подвержена ошибкам.
Одна кавычка в имени - и ваша программа выйдет из строя. Если пользователь вводит имя, например "Брайан О'Коннер", может привести к сбою вашего приложения, это уязвимость SQL-инъекции, и сбой-это наименьшая из проблем, вредоносный пользовательский ввод, и он продвигается к командам SQL со всеми учетными данными.
SQL-инъекция - Википедия[^]
SQL-инъекция[^]
Атаки SQL-инъекций на примере[^]
PHP: SQL-инъекция - руководство пользователя[^]
Шпаргалка по предотвращению инъекций SQL - OWASP[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? - Обмен Стеками Информационной Безопасности[^]


leo.kaleb

Спасибо! я все исправлю!