سؤال

وأنا أحاول أن الرد على مجموعة كاملة من مربعات ولفتحه في الصفحة التالية ..

ويطيب لي فقط نتيجة الماضية، أحد يعرف لماذا؟ أو كيفية إصلاحه؟

<form name="input" action="createevent.php" method="post">

Event title: 
<input type="text" name="Eventtitle" size="20">
<br>Event Description 
<input type="text" name="Description" size="20">
<br>
Please select the days that you are free to arrange this meeting.<br>
Monday
<input type="checkbox" name="day" value="Monday" />
<br />
Tuesday
<input type="checkbox" name="day" value="Tuesday" />
<br />
Wednesday
<input type="checkbox" name="day" value="Wednesday" />
<br />
Thursday
<input type="checkbox" name="day" value="Thursday" />
<br />
Friday
<input type="checkbox" name="day" value="Friday" />
<br />
Saturday
<input type="checkbox" name="day" value="Saturday" />
<br />
Sunday
<input type="checkbox" name="day" value="Sunday" />
<br /><br />
<input type="submit" value="Submit">

وبغض النظر عن كم كنت تحديده يعطي سوى نتيجة واحدة في الصفحة التالية. $ يوم = sizeof ($ _ ما بعد [ 'اليوم'])؛

وأي وقت مضى فقط يعطي "1" الجواب. وعندما أحصل عليها إلى الصفحة التالية وسوف تريد أن تكون قادرة على تحديد كل منها على حدة.

وشكرا!

هل كانت مفيدة؟

المحلول

سوف

وPHP جعل فقط تلقائيا قيمة وظيفة في صفيف إذا كان ينتهي في [].

وهكذا تحتاج إلى أن يكون name="day[]" بدلا من name="day" فقط.

و(لاحظ أن هذا يعمل عن أي قيمة وظيفة، وكذلك مع صفائف النقابي بدلا من-تزايد السيارات فقط - يمكنك القيام به name="foo[bar]"، وكنت أحصل $_POST['foo']['bar'] ...)

نصائح أخرى

والسبب كنت تحصل على واحد فقط نتيجة لأن التي تقوم بالإرسال حقول متعددة بنفس الاسم حتى افتراضيا آخر واحد الكتابة عن سابقاتها. حاول إنشاء مجموعة في HTML الخاصة بك مثل هذا:

Monday
<input type="checkbox" name="day[]" value="Monday" />
<br />
Tuesday
<input type="checkbox" name="day[]" value="Tuesday" />
<br />
Wednesday
<input type="checkbox" name="day[]" value="Wednesday" />

ووهلم جرا إلى أسفل القائمة ...

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top