فرم لاگین
سلام و وقت بخیر
فرم لاگین را به این صورت ساختم
از sixeof خطا میده
آیا نحوه ی کد نویسی برای فرم لاگین ساده به این صورت اصولی است ؟
و استفاده از fetch بهتر است یا feych all
<?phpsession_start();require_once ‘config/config.php’;if(isset($_POST[‘login’])){$email = $_POST[’email’];$pass = $_POST[‘pass’];//echo $email . “<br>” . $pass;$query = $conn -> prepare(“SELECT * FROM tbl_users WHERE users_email = ‘$email’AND users_pass =’$pass'”);$query -> execute();$result = $query -> fetch();echo var_dump($result);//eho $result[‘users_tel’];if (sizeof($result) > 1 ){if($result[‘users_role’] == 1){$_SESSION[‘admin’] = “1”;// $_SESSION[‘user’] = $result[0][0];header(“location: admin/admin.php”);}else{//$_SESSION[‘user’] = $result[0][0];//id user$_SESSION[‘user’] = “1”;//id userheader(“location: users/user.php”);}}}?>

پاسخ ( 1 )
سلام، وقتتون بخیر
اصلا از sizeof نباید استفاده کنید، یا باید از count استفاده کنید یا از myaqli_num_rows
یه نمونه کد برای فرم لاگین:
<?php $error=''; //Variable to Store error message; if(isset($_POST['submit'])){ if(empty($_POST['user']) || empty($_POST['pass'])){ $error = "Username or Password is Invalid"; } else { //Define $user and $pass $user=$_POST['user']; $pass=$_POST['pass']; //Establishing Connection with server by passing server_name, user_id and pass as a patameter $conn = mysqli_connect("localhost", "root", ""); //Selecting Database $db = mysqli_select_db($conn, "test"); //sql query to fetch information of registerd user and finds user match. $query = mysqli_query($conn, "SELECT * FROM userpass WHERE pass='$pass' AND user='$user'"); $rows = mysqli_num_rows($query); if($rows == 1){ header("Location: welcome.php"); // Redirecting to other page } else { $error = "Username of Password is Invalid"; } mysqli_close($conn); // Closing connection } } ?>موفق باشید