يك سوال مبتديانه در مورد ارسال فرم

Mohammadreza

Well-Known Member
سلام به همه ي اساتيد
من يه فرم طراحي كردم كه با روش پست داده ها رو مي فرسته به صفحه ي index2.php
صفحه ي index2.php حاوي اطلاعات زير است !
کد:
<?php
require('header.php');
echo 'نظر شما با موفقيت ارسال شد';
$name = $_POST['name'];
$email = $_POST['email'];
$web = $_POST['web'];
$comment = $_POST['comment'];
$data = $name."\n".$email."\n".$web."\n".$comment."\n";
$fp = fopen('comment.dat','a');
fwrite($fp,$data);
fclose($fp);
?>
حالا مشكل اينجاست كه هر بار فايل index2.php بارگذاري مي شه ، اين كد ها شروع به فعاليت مي كنه !
من مي خوام يه طوري باشه كه اين كدها زماني فعال بشه كه فقط كاربر از طريق فرم اومده باشه !
( با باز شدن index2.php اطلاعات به فايل ارسال نشه و پيغام بده )
ممنون
 

yakoza

Well-Known Member
با يه شرط ميشه اين كار رو كرد

PHP:
if(isset($_POST['submit']))
{
	require('header.php');
	echo 'نظر شما با موفقيت ارسال شد';
	$name = $_POST['name'];
	$email = $_POST['email'];
	$web = $_POST['web'];
	$comment = $_POST['comment'];
	$data = $name."\n".$email."\n".$web."\n".$comment."\n";
	$fp = fopen('comment.dat','a');
	fwrite($fp,$data);
	fclose($fp);		
}

من فرض كردم اسم اون دكمه سابميت رو گذاشتي submit حالا خودت ميتوني عوض كني
 

madisline

Member
ببخشید که اینو میپرسم ولی دیدم سوالم در همین رابطه است.
حالا اگه بخواهیم مطمئن بشیم که کاربر از فرمی که در سایت گذاشتیم استفاده کرده چیکار باید بکنیم؟ چون ممکن هست یکسری خراب کار در جای دیگه ایی همانند این فرم رو شبیه سازی کرده باشند.
 

yakoza

Well-Known Member
ببخشید که اینو میپرسم ولی دیدم سوالم در همین رابطه است.
حالا اگه بخواهیم مطمئن بشیم که کاربر از فرمی که در سایت گذاشتیم استفاده کرده چیکار باید بکنیم؟ چون ممکن هست یکسری خراب کار در جای دیگه ایی همانند این فرم رو شبیه سازی کرده باشند.

با session ميشه اين كار رو كرد
يه سشن ايجاد ميكني مثلا

PHP:
session_start();
$_SESSION['code']=md5(rand(000,999));

بعد اين مقدار رو تو يه فيلد hidden قرار بدي

PHP:
<input type="hidden" name="code" value="<?=$_SESSION['code']?>">

و تو صفحه اي كه اطلاعات فرو رو پروسس ميكني چك كن ببين كه اين فيلد هيدن با سشن برابر هست يا نه
 

Masoud1365

مدیر انجمن
می تونید از $_server["http_referer"] استفاده کنید تا ببینید کاربر از چه صفحه ای اومده به اسکریپت شما حالا با یه شرط میتونید بگید اگه کاربر از فلان صفحه اومده بود اسکریپت کار کنه وگرنه کار نکنه !
 

yakoza

Well-Known Member
می تونید از $_server["http_referer"] استفاده کنید تا ببینید کاربر از چه صفحه ای اومده به اسکریپت شما حالا با یه شرط میتونید بگید اگه کاربر از فلان صفحه اومده بود اسکریپت کار کنه وگرنه کار نکنه !

اين گزينه رو ميشه تغيير داد
روشي كه من گفتم فكر كنم بهتره و مطمئنتر
 

Masoud1365

مدیر انجمن
اين گزينه رو ميشه تغيير داد
روشي كه من گفتم فكر كنم بهتره و مطمئنتر

البته !
پست های ما همزمان شد من ندیدم که شما چی نوشتید ولی الان که خوندم شما درست میگید این جوری مطمئن تره .
من می خواستم زیاد طولانی نشه ! :d
 

جدیدترین ارسال ها

بالا