حل شده

لاگین php و جاوااسکریپت

بازدید335پست ها1آخرین فعالیت2 سال پیش
1
2

یه سوال : مثلا ما با جاوا اسکریپت از صفحه لاگین اطلاعات رو دریافت میکنیم ، حالا چه جوری بدیم به php که بعدش بریم سمت دیتابیس و چک کنیم که اطلاعات درست هستند یا نه؟ همون username و password

1 پاسخ

1

درود
ببینید شما میتونید اطلاعات رو با جاوا اسکریپت به صورت json ارسال کنید روی صفحه چک کردن نام کاربری و کلمه عبور ولی خیلی راحت میتونید با متد post که داخل خصوصیت method در تگ form لاگین مشخص میکنید و مشخص کردن نام صفحه php که اونو چک میکنه داخل خصوصیت action همون تگ form اطلاعات رو ارسال کنید.
مثلا فرم لاگین این شکلی باشه:

<form action="test.php" method="post">
<input type="text" name="username">
<input type="password" name="password">
<input type="submit" name="login" value="login">
</form>

حالا داخل فایل test.php اول یه شرط همون بالا بذارید که متوجه بشید حتما از صفحه لاگین اومده باشه و همه کدها رو داخل این if بنویسید.

if(isset($_POST["login"]))
{
....
}

میتونید به username و password با استفاده از $_POST دسترسی پیدا کنید.

$username=$_POST["username"];
$password=$_POST["password"];

توی قسمت بعد باید یه چک کردن برای injection بذاری روی این دوتا متغیر و بعد اتصال به پایگاه داده و چک کردن صحت نام کاربری و کلمه عبور.
حالا اگر شما با استفاده از جاوا اسکریپت و json خواستید form رو ارسال کنید اول اینکه در سمت کاربر (فرم لاگین) برای ارسال در XMLHttpRequest شما مشخص میکنید که متد ارسال یا post یا get باشه:

var xhr = new XMLHttpRequest();
xhr.open("POST", "test.php");

اگر با متد get ارسال کردید (که برای ارسال عناصر مهم فرم مثل کلمه عبور پیشنهاد نمیشه) از $_GET برای دسترسی به عناصر فرمتون استفاده کنید:

$username=$_GET["username"];
$password=$_GET["password"];
آخرین ویرایش: 17-08-2021 ???? 22:00، توسط عباس اختیاری
سلام. لظفا هیچ وقت از دستور Get برای ارسال و دریافت اطلاعات مهم مثل پسورد استفاده نکنید. ممکنه آدم مبتدی به اشتباه بیوفته – علیرضا زارعی 2 سال پیش
درود، بنده هم Get رو نوشتم هم Post نوشتم انتخاب با خود ایشون هست و مطمئنا ایشون میدونن که با استفاده از متد post امنیت داده تا حدود زیادی تضمین میشه نسبت به get. برقرار باشید. – عباس اختیاری 2 سال پیش

سوال برنامه نویسی دارید؟

ندونستن عیب نیست، نپرسیدن چرا!

خوش آمدید

برای طرح سوال، ایجاد بحث و فعالیت در سایت نیاز است ابتدا وارد حساب کاربری خود شوید. در صورتی که هنوز عضو سایت نیستید میتوانید در عرض تنها چند ثانیه ثبت نام کنید.