PDA

View Full Version : Apache و PHP



R E Z A P
دوشنبه 19 بهمن 1388, 22:45 عصر
سلام دوستان.
من به زبان php در حد متوسط واردم.
میخواستم یه همچین کاری بکنم لطفا راهنمایی کنید اساتید.
من میخوام بدونم چطور میشه که وقتی به یه همچین آدرسی مثل
http://www.example.com/username-password
میرویم میاد username و pssword رو از روی url قسمت بعد http://www.example.com میگیره و به آدرس بعد مثلا http://www.example.com/login.php منتقل میشه و username و password رو توی دیتابیس چک میکنه و ادامه ...

من فقط سوالم اینجاست که چجوری این اتفاق خوندن url و پست کردن داده ها به login.php جهت چک کردن در دیتابیس اتفاق میفته.

vbehzadan
سه شنبه 20 بهمن 1388, 03:37 صبح
برای ارسال داده های فرم، دو روش وجود داره: POST و GET.
اگه توجه کرده باشی، برای تعریف فرم توی HTML، یه پارامتر method وجود داره که به وسیله اون مشخص می کنی میخوای از GET استفاده کنی یا POST. و اما مقایسه این دو متد:
1.هر دو برای فرستادن مقادیر فرم فیلد ها استفاده میشن
2.تمام مقادیری که به وسیله متد GET فرستاده میشن، به URL اضافه میشن (مورد سوالت)، اما مقادیری که به وسیه Post فرستاده میشن، داخل URL نمایش داده نمیشن.
3.متد GET برای حجم داده های ارسالی محدودیت داره (فکر کنم 256 کاراکتر باشه)، در حالی که با POST میشه حجمای بالای داده رو رد و بدل کرد
4.GET سریعتر از POST عمل میکنه
5.POST فوق العاده امن تره از GET، و در مورد مثال تو، پیشنهادم اینه که همیشه برای لاگین از متد POST استفاده کنی.
و چند تفاوت دیگه مثل برخورد بروزر با این دو متد، برخورد بعضی فایروالها با متد پست و ثبت داده های GET توی Logfile های وب سرور

R E Z A P
سه شنبه 20 بهمن 1388, 16:02 عصر
برای ارسال داده های فرم، دو روش وجود داره: POST و GET.
اگه توجه کرده باشی، برای تعریف فرم توی HTML، یه پارامتر method وجود داره که به وسیله اون مشخص می کنی میخوای از GET استفاده کنی یا POST. و اما مقایسه این دو متد:
1.هر دو برای فرستادن مقادیر فرم فیلد ها استفاده میشن
2.تمام مقادیری که به وسیله متد GET فرستاده میشن، به URL اضافه میشن (مورد سوالت)، اما مقادیری که به وسیه Post فرستاده میشن، داخل URL نمایش داده نمیشن.
3.متد GET برای حجم داده های ارسالی محدودیت داره (فکر کنم 256 کاراکتر باشه)، در حالی که با POST میشه حجمای بالای داده رو رد و بدل کرد
4.GET سریعتر از POST عمل میکنه
5.POST فوق العاده امن تره از GET، و در مورد مثال تو، پیشنهادم اینه که همیشه برای لاگین از متد POST استفاده کنی.
و چند تفاوت دیگه مثل برخورد بروزر با این دو متد، برخورد بعضی فایروالها با متد پست و ثبت داده های GET توی Logfile های وب سرور
ممنون از اینکه به سوالم جواب دادین.
ولی من باید برای این کاری که میخوام بکنم مجبورم از GET شما گفتین استفاده کنم.
ولی درست نفهمیدم این عمل خوندن url چجوریه میشه یکم واضح تر توضیح بدین ممنون.
بعد نمیخواد از Apache کمک بگیرم.

R E Z A P
سه شنبه 20 بهمن 1388, 16:23 عصر
فقط ممنون میشم یه نفر برام یه مثال کوچیک از خوندن username و password بزنه که خود به خود اونارو بخونه.

R E Z A P
سه شنبه 20 بهمن 1388, 19:12 عصر
مشکل قبلیم حل شد ممنون
فقط یه سوال دارم که چجوری میشه با php لینک شد به یک php دیگه.
ممنون

R E Z A P
چهارشنبه 21 بهمن 1388, 11:11 صبح
سلام ببخشید
دستوری هست که با استفاده از اون دستور به یک فلدر دیگه منتقل شد بدون اینکه در آدرس بار نشون داده شه؟

Reza1607
چهارشنبه 21 بهمن 1388, 11:42 صبح
باید از دستور header استفاده کنی

header('Location: php_url');

R E Z A P
چهارشنبه 21 بهمن 1388, 12:23 عصر
باید از دستور header استفاده کنی

header('Location: php_url');
ممنون از جوابتون میخواستم بدونم آیا فقط فایل php رو صدا میزنه؟
شرمنده آخه من میخوام از header لابلای دستور if استفاده کنم نمیشه نه؟

Reza1607
چهارشنبه 21 بهمن 1388, 12:39 عصر
ممنون از جوابتون میخواستم بدونم آیا فقط فایل php رو صدا میزنه؟
شرمنده آخه من میخوام از دستور if استفاده کنم header نمیشه نه؟


نه می تونه html یا هر url دیگه ای هم باشه
می تونه اطلاعات بیشتر رو از سایت www.php.net (http://www.php.net) بدست بیاری

از آدرس زیر هم اطلاعات بیشتری بدست بیاری
header (http://ir.php.net/manual/en/function.header.php)

R E Z A P
چهارشنبه 21 بهمن 1388, 12:48 عصر
این اررور رو میده یعنی چی؟
Warning: Cannot modify header information - headers already sent by (output started at

Reza1607
چهارشنبه 21 بهمن 1388, 12:57 عصر
این اررور رو میده یعنی چی؟
Warning: Cannot modify header information - headers already sent by (output started at

من هم دقیقا نمی دونم این error رو برای چی می ده ولی فکر کنم نباید قبل از دستور header از echo استفاده کنی

R E Z A P
چهارشنبه 21 بهمن 1388, 13:02 عصر
نه من از echo استفاده نکردم.
یعنی اگه من مثلا این دستور رو بنویسم

<?php
header("Location: http://www.google.com/");
exit;
?>

منتقل میشه؟

R E Z A P
چهارشنبه 21 بهمن 1388, 13:08 عصر
آها مشکلو فهمیدم من از تگ html توی php استفاده کرده بودم حالا که برداشتم درست شد.

بعد یه چیز دیگه من میخوام آدرس از آدرس بار تغییر نکنه و با همون آدرس قبلی به صفحه ی مورد نظر منتقل بشه
اونو باید چیکار کنم.

R E Z A P
چهارشنبه 21 بهمن 1388, 14:40 عصر
ببخشید میخواستم بدونم کار file_get_contents چیه ممنون آیا بدرد کار من میخوره؟

Reza1607
شنبه 24 بهمن 1388, 17:14 عصر
آها مشکلو فهمیدم من از تگ html توی php استفاده کرده بودم حالا که برداشتم درست شد.

بعد یه چیز دیگه من میخوام آدرس از آدرس بار تغییر نکنه و با همون آدرس قبلی به صفحه ی مورد نظر منتقل بشه
اونو باید چیکار کنم.

راستی متونی از تگ meta هم استفاده کنی
اینم کد

<meta http-equiv="Refresh" content="2; URL=url_path" />
هر مسیری هم باشه قبوله دیگه به مشکل هم بر نمی خوری
عدد 2 به ثانیه هست یعنی بعد از دو ثانیه صفحه رفرش می شه و به هر مسیری که گفتی میره

R E Z A P
شنبه 24 بهمن 1388, 21:34 عصر
سلام
یه سوال داشتم چجوری میشه که از تابع
header ('Location: http://example.com/test.zip')x (http://example.com/test.zip%27%29x)
استفاده کرد ولی فایل test.zip برای دانلود آماده نشه.

بعد اگه کسی راجع به MIME ها در php چیزی میدونه راهنماییم کنه.

R E Z A P
یک شنبه 25 بهمن 1388, 10:22 صبح
سلام
ببخشید تابع header (یا تابع دیگه ای) رو باید به چه صورتی به کار ببرم که یک فایل در نوبت اول دانلود بشه بعد از دانلود کامل فایل اول اتوماتیک در نوبت دوم فایل دوم رو برای دانلود آماده کنه و بعد از اینی که فایل دوم دانلود شد دستور exit رو صادر کنه.
ممنون میشم اگه کسی جواب بده.