登录系统不想登录网页



我为我的网页创建了一个登录系统。在本地主机上,当我输入用户名和密码并单击登录时,它可以工作。当我在实时网站上执行此操作时,什么也没发生。

这是我的代码:

<?php
if(isset($_POST['username']) && isset($_POST['password'])){
$password=$_POST['password'];
$username=$_POST['username'];
$password_hash=md5($password);
if(!empty($username) && !empty($password)){
$query= "SELECT id FROM studenti WHERE username='".mysql_real_escape_string($username)."' AND password='".mysql_real_escape_string($password_hash)."'";
if($query_run=mysql_query($query)){
$query_num = mysql_num_rows($query_run);
if($query_num==0){
echo '<div class="text1">Pogresan Username/Password</div>';
}else if ($query_num==1){
$user_id=mysql_result($query_run,0, 'id');
$_SESSION['user_id']=$user_id;
header('Location : index.php');
}
}
}else{
echo '<div class="text2">Morate upisati Username i  Password</div>';
}
}
?>

在这里你可以尝试一下 示例 Registraion 工作正常,所有用户都在日期库中,而且我在日期库中的密码字段长度为 35 个字符。(MD5)。我看不出哪里有问题。.

这是注册代码:

<?php
require 'core.php';
require 'connectdb.php';
if(!loggedin()){
if(
    isset($_POST['password']) && isset($_POST['password_again'])&& isset($_POST['username'])&& isset($_POST['ime'])&& isset($_POST['prezime'])){
$password=$_POST['password'];
$password_again=$_POST['password_again'];
$username=$_POST['username'];
$ime=$_POST['ime'];
$prezime=$_POST['prezime'];
$password_hash=md5($password);
if(!empty($password) && !empty($password_again)&& !empty($username)&& !empty($ime)&& !empty($prezime)){
if($password!=$password_again){
echo '<div class="text2">Passwordi se ne poklapaju :)</div>';
}else{
$query="SELECT username FROM studenti WHERE username='$username'";
$query_run = mysql_query($query);
if(mysql_num_rows($query_run)==1){
echo '<div class="text2">Korisnicko ime'.' '.$username.' '.'vec postoji</div>';
}else{
$query="INSERT INTO studenti VALUES ('','".mysql_real_escape_string($username)."','".mysql_real_escape_string($password_hash)."','".mysql_real_escape_string($ime)."','".mysql_real_escape_string($prezime)."')";
if($query_run=mysql_query($query)){
header('Location: uspjeh.php');
}else{
    echo '<div class="text2">Dogodila se greska, probaj kasnije!</div>';
}
}
}
}else{
    echo '<div class="text4">Popuni sva polja</div>';
}
}
    ?>

这是我在粘贴中的所有代码我的服务器使用 PHP 版本 5.3.26,所以我不需要使用 mysqli_connect();

您在第一个文件中缺少connectdb.php(要求/包含)!也许您没有数据库连接。

必须在使用 $_SESSION[] 变量的每个文件的开头设置session_start()

你应该切换到mysqli或PDO,因为mysql已被弃用,将在较新版本的PHP中删除。

有了mysql_real_escape_string(),您只能获得基本的安全性。看看预准备语句(mysqli)/准备语句(PDO)。

并且您必须转义每个查询中的值,包括"SELECT"。(例如$username

最新更新