Как вы переходите с одной страницы на другую с помощью PHP
привет
в своем задании я пытаюсь перейти с одной страницы на другую с помощью php. это когда пользователь регистрируется ах хотел бы перейти на страницу приветствия давая пользователю знать что теперь он является членом регистра но проблема у меня возникает в том что в одну минуту он будет переходить на страницу входа в систему а в другой раз он сломается но в браузере вы видите как он пытается перейти на страницу входа в систему welcome.php но он сломался. не надо, если это что-то инт welcome.php страница-это то, что вызывает ее, или коды, которые я использую, - это проблема. не могу сказать, что есть что, хотя я использовал функцию заголовка, и она все равно не будет работать
может быть, кто-нибудь скажет мне, что не так, может быть, дополнительная пара глаз будет очень признательна. вот коды для обеих страниц.
Что я уже пробовал:
вот первые коды
<?php header('Location: welcome.php'); ?> <?php $register=$_POST['register_user']; if(isset($register))//check to see if button has been clicked { //capture the variable from the form and store in php variables $title=$_POST['title']; $fullname=$_POST['fullname']; $lastname=$_POST['lastname']; $screenname=$_POST['screenname']; $email=$_POST['email']; $gender=$_POST['gender']; $address=$_POST['address']; $mypwd=$_POST['mypwd']; //connecting to the server $db_host="localhost"; $db_user="root"; $db_pass=""; //include'db_server.php'; $conn=mysqli_connect($db_host,$db_user,$db_pass) or die (mysqli_connect_error()); //select the database you want to query mysqli_select_db($conn, 'national_wonders') or die (mysqli_error($conn)); $sql="SELECT * FROM members WHERE screenname='$screenname'"; $result= mysqli_query($conn, $sql) or die ("ERROR:" .mysqli_error()); $rowcount=mysqli_num_rows($result); if($rowcount >= 1) //checking to see if screenname is already exist { "<script type=\"text/javascript\"> alert('Screenname already exits!!'); window.location=/login.html\"; </script>"; } else { //insert data into table $sql = "INSERT INTO members VALUES('$title', '$fullname', '$lastname', '$screenname', '$email', '$gender', '$address', MD5('$mypwd'))"; if(mysqli_query($conn,$sql)) { session_start(); $_SESSION['user']=$screenname; mysqli_close($conn); } else { echo "Error inserting values into database"; } //end of line } } ?>
вот коды для страницы приветствия
<?php session_start(); if(!isset($_SESSION['view'])) { header("location:../php/popupbox.php"); } ?> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title> Welcome </title> <link rel="stylesheet" type="text/css" href="css/stylesheet.css" /> </head> <body> <div id="container"> <div id="header"> <div id="banner"> <img src="images/header.jpg" alt="header" /> </div> </div> <div id="navbar"> <ul> <li><a href="../index.html" id="tlinks" class="toplinks">Homepage</a></li> <li><a href="featureNaturalWonders.html" id="thold" class="toplinks">Feature Natural Wonders</a></li> <li><a href="contact.html" id="linkhold" class="toplinks" >Contact Us</a></li> <li><a href="register.html" id="phold" class="toplinks"> Sign Up</a></li> <li><a href="login.html" id="loglinks"class="toplinks"> Login</a></li> <li><a href="aboutus.html" id="panlinks" class="toplinks"> About Us</a></li> </ul> <form method="post" id="search" action="" > <input type="text" name="search" value=""/> <input type="submit" value="Search"/> </form> </div> <div id="contentArea"> <h1>CONGRATULATIONS!!!!</h1> <p> You are now a registered member!! </p> <p> Please enter your screenname and password to see the information you have submitted. </p> <form method="post" action="../PHP/data.php"> *Screenname: <input type="text" name="screenname" /> <br/><br/> *Password: <input type="password" name="mypwd" /> <br/><br/> <input type="submit" value="VIEW" /> </form> <div id="footerbox"> <div id="footerholder"> <div id=""> <a href="../index.php">Homepage</a> <a href="popupbox.php">Popup box </a> <a href="featureNationalWonders.php">Feature National Wonders</a> </div> </div> </div> </div> </body> </html>
Richard Deeming
Проблема 1:
Ваш код уязвим для SQL-инъекций. НИКОГДА используйте конкатенацию строк / интерполяцию для построения SQL-запроса. ВСЕГДА используйте параметризованный запрос.
Все, что вы хотели знать о SQL-инъекции (но боялись спросить) | Трой Хант[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? | Обмен Стеками Информационной Безопасности[^]
PHP: SQL-инъекция - руководство пользователя[^]
divinity02
большое спасибо, Вау, я не думал об этом, большое спасибо, очень ценю
Richard Deeming
Задача 2:
Хорошая новость - вы не храните свои пароли в виде обычного текста.
Плохая новость - вы используете MD5, который совершенно небезопасен. И что еще хуже, вы не солите пароль.
Безопасная Аутентификация Паролем Объясняется Просто[^]
Соленое хэширование паролей - делаем это правильно[^]
PHP имеет встроенные функции, которые помогут вам правильно обращаться с паролями:
PHP: password_hash[^]
РНР: функцию password_verify[^]