PDA

View Full Version : گذاشتن حروف كچ پا در فرم



f_naderi
چهارشنبه 30 دی 1388, 01:27 صبح
سلام
من می خوام یک فرمی درست کنم که در اون علاوه بر نام کاربری و رمز عبور از این حروفی که داخل کادر نوشته میشه و کاربر باید اونها رو وارد کنه (حروف Captcha) ، می خوام توی فرمم چنین چیزی هم باشه و لی بلد نیستم اگه میشه کدش رو با تمام توضیحاتش برام بذارید.ممنونم

امیـرحسین
چهارشنبه 30 دی 1388, 18:46 عصر
توسط توابع GD می تونید تصویر بسازید.
یه string رندوم ایجاد کنید و توسط توابع GD به تصویر تبدلیش کنید و اون تصویر رو داخل فرم قرار بدید.
برای اینکه خودتون از محتوای اون تصویر مطلع شید باید مقدارش داخل یک SESSION هم قرارش بدید تا بتونید مقداری که کاربر وارد کرده و مقدار داخل تصویر رو مقایسه کنید.
بخش اصلیش همون توابع GD هست.

f_naderi
چهارشنبه 30 دی 1388, 19:34 عصر
ممنون ولي من از اين چيزهايي كه شما گفتيد هيچي بلد نيستم اگه كد به همراه توضيحش رو برام بذارين ممنون ميشم.

f_naderi
پنج شنبه 01 بهمن 1388, 11:27 صبح
كد پيدا كردم ولي كد هاشو نمي فهمم.مثلا اون تصاويري رو كه براي پس زمينه ميزارن چطوري هستش(چه جور تصاويري رو ميشه گذاشت) . اگه ميشه كد خودتون رو لطف كنيد و توي اين قسمت با يه توضيح مختصر قرار بدين ممنون ميشم.

f_naderi
پنج شنبه 01 بهمن 1388, 12:29 عصر
من می خوام از این فایل توی برنامه ام استفاده کنم ولی نمی دونم چطوری؟ من یک فرم دارم برای دریافت نام کاربری و رمز عبور که می خوام این تصاویر هم در این صفحه ظاهر بشن و در یک فایل php دیگه نام کاربری و رمز عبور چک میشن و حالا باید چطور این تصاویر رو چک کنم .فايل دوم يه قسمت از برنامه ي خدمه چه تغييراتي بايد در اينها اعمال كنم؟

امیـرحسین
پنج شنبه 01 بهمن 1388, 14:50 عصر
این یه کد نمونه برای ساختن تصویر از کلمه است: Text to Image with GD (http://www.phpro.org/examples/Text-to-Image-with-GD.html)
همونطور که گفتم شما باید اون کلمه ای که تصویرش رو میسازید رو داخل یک SESSION هم قرار بدید. مثلا از کلمه AHHP تصویر ساختید حالا باید این کلمه رو داخل یه session با کلید captcha قرار بدید:
$_SESSION['captcha'] = 'AHHP';
و موقع چک کردن فرم، باید فیلد مخصوص کد امنیتی رو با session بالا مقایسه کنید که اگر یکی بود یعنی user همون کلمه ای رو وارد کرده که در تصویر وجود داشته....
یکم روش فکر کنید میبینید که منطقش سادست...

f_naderi
پنج شنبه 01 بهمن 1388, 16:18 عصر
ممنون . حروف رو نشون ميده ولي موقع چك كردن توي صفحه ي login.php درست جواب نميده من اول اين فايلم نوشتم
if($captcha==$_SESSION['captcha'])
و بعدش كد هاي ديگه رو نوشتم و بعد قسمت else‌رو نوشتم كه همش قسمت else رو اجرا ميكنه.
else header('location:karbar.php');

امیـرحسین
پنج شنبه 01 بهمن 1388, 17:21 عصر
دارید تست می کنید. توی else این کد رو قرار بدید:
die('<pre>
$_SESSION : '
.print_r($_SESSION, true).
'<br /><hr />
$_POST : '
.print_r($_POST, true).
'</pre>');

f_naderi
پنج شنبه 01 بهمن 1388, 17:45 عصر
اين كار رو كرده بودم.اگه ميشه يه نگاهي به اون فايل هاي ضميمه بكنيد انگار خود اصل اون فايل مشكل داره چون خودش براي تست نوشته آگر كه كدها يكي بودند true بنويسه و در غير اينصورتfalse‌كه اصلا همچين كاري نمي كنه.هيچي نمي نويسه

f_naderi
جمعه 02 بهمن 1388, 17:41 عصر
از هر دو بزرگوار واقعا ممنونم مشكلم حل شد.