Member 14090219 Ответов: 0

Почему, когда я добавляю SESSION_START в свое кодирование, он не работает.


после того как я добавлю начало сеанса на свою индексную страницу когда я нажму свой логин buttuon он останется на моей странице входа и не перейдет на мой indexpage

ПОЖАЛУЙСТА, ПОМОГИТЕ МНЕ

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

это мой код loginpage

<title>Login

@import url("css/styles.css");


<center>

  <div class="container">
  
    <div class="container-fluid">
      <div class="b">
    <h1>RB COUNSELING</h1>
		</div>

<h2>Welcome to RB Counseling</h2>


<p>
	Not yet a member?<a href="home.php">Sign Up</a></p>

<table border="1" width="300" height="150"><tbody><tr>	<td>Username:</td>		<td></td></tr><tr>	<td>Password</td>		<td></td></tr><tr>	<td colspan="5" align="center"></td></tr></tbody></table>

</div></div></center>




<?php 
session_start();
mysql_connect("localhost","root","") or die (mysql_error());
mysql_select_db("registration") or die (mysql_error());

if (isset($_POST['Login']))
{
   $username=$_POST ['name'];
   $pass=$_POST ['password'];
   
   if($username=='')
   {
	   echo "alert('Please enter the username')";
     exit();   
   }
   
   if($pass=='')
   {
	   echo "alert('Please enter the password')";
     exit(); 
  }
 
    else{
   $query='SELECT * FROM `user` where `username`="'.$username.'" and `password`="'.$pass.'"';
   $r = mysql_query($query);
   if (mysql_num_rows ($r) > 0){
	   $_SESSION['username'] = $username;
	   header("location:index.php");
   }else{ 
       echo 'your password and username do not match';
   }
  }
}
?> 




это мой код indexpage
<!doctype html>



*{margin:0px; padding:0px;}
#main{border:1px solid black; width:450px; height:500px; margin:24px auto;}
#message_area{width:98%; border:1px solid blue; height:440px;}



<?Php session_start();
            if(isset($_SESSION['username'])){
			echo 'Welcome '.$_SESSION['username'];
	    echo '<a href="logout.php">Log out</a><br>';
          }else{
              header("location:login1.php");
		  }			  

?>
<div id="main">
<div id="message_area">

</div>
<?Php
mysql_connect("localhost","root","") or die (mysql_error());
mysql_select_db("registration") or die (mysql_error());


if(isset($_POST['submit'])){
	$message =$_POST['message'];
	
	$query='INSERT INTO `message` (`id`,`message`,`username`)
	VALUES ("","'.$message.'","'.$_SESSION['username'].'")';
    if(mysql_query($query)){
		echo '<h4 style="color: red">'.$_SESSION['username'].'</h4>';
		echo '<p>'.$message.'</p>';
}
}

?>

</div>

ZurdoDev

Я не занимаюсь php, но от http://php.net/manual/en/function.session-start.php, вызов session_start запустит новый сеанс. Я предполагаю, что вы очищаете регистрационную информацию, создавая новый сеанс после этого факта.

Richard Deeming

Кроме того, вы храните пароли в виде обычного текста. Не делай этого!
Безопасная Аутентификация Паролем Объясняется Просто[^]
Соленое хэширование паролей - делаем это правильно[^]

PHP даже имеет встроенные функции, которые помогут вам сделать все правильно:
PHP: password_hash[^]
РНР: функцию password_verify[^]

0 Ответов