هل يوجد بديل للامر header(location
لتوجيه المستعرض لصفحة اخرى
استخدم JavaScript يالطريقة التالية
window.location = example.com
لكن المشكلة اذا قام المستخدم بايقاف دعم javascript على متصفحه
استخدم كود html
<meta HTTP-EQUIV=”REFRESH” content=”0; url=http://www.yourdomain.com/index.html”>
<?php
include 'connect.php';
if (isset($_POST['b'])) {
$id = $_POST['id'];
$pass = $_POST['pass'];
$query = "select * from teachers where id = " . $id . " and pass = " . "'$pass'";
$result = mysqli_query($dbc, $query);
$count = mysqli_num_rows($result);
if ($count == 1) {
$row = mysqli_fetch_array($result);
session_start();
$_SESSION['id'] = $row['id'];
$_SESSION['job'] = $row['job'];
switch ($_SESSION['job']) {
case 1: header("Location: admin_main.php");
break;
case 2: header("Location: sch_main.php");
break;
case 3: header("Location: sup_main.php");
break;
case 4: header("Location: teacher_main.php");
break;
}
}
else {
$m = "رقم الهوية أو كلمة المرور غير صحيحة";
header("Location: index.php?m=" . $m);
}
}
else {
$m = "رقم الهوية أو كلمة المرور غير صحيحة";
header("Location: index.php?m=" . $m);
}
?>كيف استخدم الحلان السابقان في الصفحة السابقة
وجزاكم الله خيرا
<?php
include 'connect.php';
if (isset($_POST['b'])) {
$id = $_POST['id'];
$pass = $_POST['pass'];
$query = "select * from teachers where id = " . $id . " and pass = " . "'$pass'";
$result = mysqli_query($dbc, $query);
$count = mysqli_num_rows($result);
if ($count == 1) {
$row = mysqli_fetch_array($result);
session_start();
$_SESSION['id'] = $row['id'];
$_SESSION['job'] = $row['job'];
switch ($_SESSION['job']) {
case 1: ?><meta HTTP-EQUIV='REFRESH' content="0; url=admin_main.php"><?php //header("Location: admin_main.php");
break;
case 2: ?><meta HTTP-EQUIV='REFRESH' content="0; url=sch_main.php"><?php //header("Location: sch_main.php");
break;
case 3: ?><meta HTTP-EQUIV='REFRESH' content="0; url=sup_main.php"><?php //header("Location: sup_main.php");
break;
case 4: ?><meta HTTP-EQUIV='REFRESH' content="0; url=teacher_main.php"><?php //header("Location: teacher_main.php");
break;
}
}
else {
$m = "رقم الهوية أو كلمة المرور غير صحيحة";
//header("Location: index.php?m=" . $m);
?><meta HTTP-EQUIV='REFRESH' content="0; url=index.php?m=<?php echo $m; ?>"><?php
}
}
else {
$m = "رقم الهوية أو كلمة المرور غير صحيحة";
//header("Location: index.php?m=" . $m);
?><meta HTTP-EQUIV='REFRESH' content="0; url=index.php?m=<?php echo $m; ?>"><?php
}
?>لكن ما سبب عدم استخدام header؟
<?php
session_start();
session_cache_limiter("nocache");
include 'connect.php';
if (isset($_POST['b'])) {
$id = $_POST['id'];
$pass = $_POST['pass'];
$query = "select * from teachers where id = " . $id . " and pass = " . "'$pass'";
$result = mysqli_query($dbc, $query);
$count = mysqli_num_rows($result);
if ($count == 1) {
$row = mysqli_fetch_array($result);
$_SESSION['id'] = $row['id'];
$_SESSION['job'] = $row['job'];
switch ($_SESSION['job']) {
case 1: header("Location: admin_main.php");
break;
case 2: header("Location: sch_main.php");
break;
case 3: header("Location: sup_main.php");
break;
case 4: header("Location: teacher_main.php");
break;
}
}
else {
$m = "رقم الهوية أو كلمة المرور غير صحيحة";
header("Location: index.php?m=" . $m);
}
}
else {
$m = "رقم الهوية أو كلمة المرور غير صحيحة";
header("Location: index.php?m=" . $m);
}
?>
من الخطأ ترك البيانات الخاطئة تصل للسيرفر ليتم التحقق من الخطأ هناك ، الافضل ان يتم التحقق من النموذج في نفس الصفحة في المتصفح وامام المستخدم بواسطة الجافا سكربت وقبل ذلك يجب اعتماد حقول html5 الجديدة التي تتعرف تلقائيا على نوع الادخال
فاليوم هنالك input type=email
input type=date
input type=number
الخ
abubasilalraqi كتب:من الخطأ ترك البيانات الخاطئة تصل للسيرفر ليتم التحقق من الخطأ هناك ، الافضل ان يتم التحقق من النموذج في نفس الصفحة في المتصفح وامام المستخدم بواسطة الجافا سكربت وقبل ذلك يجب اعتماد حقول html5 الجديدة التي تتعرف تلقائيا على نوع الادخال فاليوم هنالك input type=email input type=date input type=number الخ
كلامك غير صحيح اخي
لانه في حال كان المستخدم قد اوقف الجافا سكريبت في مستعرضه او كان يستخدم نسخ لا تدعم html 5 من المستعرض فعندها سوف يقوم بكل سهولة باختراق الموقع بكل سهولة.