PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مشکل در ارسال مقادیر



alborzhost
November 3rd, 2010, 22:05
سلام

دارم یک فرمی رو طراحی میکنم تو بخش اول کاربر مشخصاتشو میده و بعد که ادامه رو میزنه میره تو یک صفحه
دیگه برای تایید مشخصاتش هست حالا کاربر بازم ادامه رو که میزنه باید بره به صفحه ثبت !
اما من به صفحه ثبت نمیتونم مقادیر رو بفرستم !

$_post['name'];
اینو که میزنم undifined میزنه !

مشکل من کجاست ؟!

Rezash
November 3rd, 2010, 22:48
در صفحه اول مشخصات درست هستند چون مقاديري پست شده هستند.اما وقتي شما دكمه تاييد رو ميزنيد كه ديگه مقاديري رو ارسال نمي كنيد.
براي حل اين مشكل كافيه در صفحه تاييد يك فرم با فيلدهاي مخفي مانند :


<input type=hidden name=sample value="postetd_valued">

بسازيد كه مقادير اين فيلدهاي مخفي همان مقادير صفحه قبل باشند.حالا وقتي كاربر روي دكمه تاييد كليك كنه در واقع فرم جديدي ارسال ميشه و مقادير در صفحه سوم هم وجو خواهند داشت.
* امكان استفاده از كوكي ها و سشن ها هم هست اما الزامي نيست و فيلدهاي مخفي راحتتر هست.

alborzhost
November 3rd, 2010, 23:02
سلام

متوجه منظورتون نشدم !
من این کد رو تو پیج کپی کنم ؟!

Rezash
November 3rd, 2010, 23:15
به مثال زير توجه كنيد :
form.html


<form action="test.php" method="post">
username : <input type="input" name="username" value="">
<br>
email : <input type="input" name="email" value="">
<input type="submit" name="submit" value="Submit">

</form>

test.php


<?php
if(empty($_POST['username']) OR empty($_POST['email']))
die('please fill the form !');
echo "You are submitting the fowllowing informations : <br> username = ".$_POST['username']." <br> email = ".$_POST['email'];
?>
<form action="test2.php" method="post">
<input type="hidden" name="username" value="<?php echo $_POST['username'] ?>">
<input type="hidden" name="email" value="<?php echo $_POST['email'] ?>">
<input type="submit" name="submit" value="Verify">
<input type="button" name="back" value="Correct" onclick="document.location='form.html'">
</form>

test2.php


<?php
//test2.php
if(empty($_POST['username']) OR empty($_POST['email']))
die('please fill the form !');
echo "You have submited the fowllowing informations : <br> username = ".$_POST['username']." <br> email = ".$_POST['email'];
?>

alborzhost
November 3rd, 2010, 23:57
سلام

یک سوال دیگه هم دارم
میخام یک عدد رندوم تولید کنم برای کد رهگیری یک تابعی بگید که تکراری نده بیرون !
در ضمن من میتونم 2 تا کلید اصلی تو دیتابیس داشته باشم ؟
هم میخوام Id و هم کد رهگیری کلید اصلی باشن

تشکر

Rezash
November 4th, 2010, 00:32
سلام

یک سوال دیگه هم دارم
میخام یک عدد رندوم تولید کنم برای کد رهگیری یک تابعی بگید که تکراری نده بیرون !
در ضمن من میتونم 2 تا کلید اصلی تو دیتابیس داشته باشم ؟
هم میخوام Id و هم کد رهگیری کلید اصلی باشن

تشکر
براي رندوم من از كد زير استفاده مي كنم :


function GEN($num) {
$rashlist = 'ABDEFGHJKMNPRSTZ23456789';
$rashg = '';
$i = 0;
while ($i < $num) {
$rashg .= substr($rashlist, mt_rand(0, strlen($rashlist)-1), 1);
$i++;
}
return $rashg;
}

مثلا يك رشته رندوم 10 كاراكتري :


echo GEN(10)

* بايد بعد از توليد عدد از صحت منحصر به فرد اون با يك كوئري مطمئن بشيد و در صورت تكراري بودن اقدام به تعويض اون كنيد.
* احتمال رشته تصادفي تكراري تقريبا نزديك به صفر است اما جانب احتياط رو بايد رعايت كرد.
* نمي تونيم دو primary key مستقل داشته باشيم اما تركيبي چرا :


create table example_of_2_primary(
id varchar(50) not null,
code varchar(50) not null,
title varchar(255),
link varchar(255),
primary key(id, code));