הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   בעיה מוזרה בקשר למערכים... (https://hosts.co.il/forums/showthread.php?t=19564)

eXtaZa 11-04-06 10:48

בעיה מוזרה בקשר למערכים...
 
שלום,
יש לי בעיה מוזרה בקשר למערכים... אז הקוד הוא ככה ואחרי ההסבר:
PHP קוד:

<html>  
<body>  
<form method="Post"> 
<input type="hidden" value="בדיקה">
<input type='checkbox' name='bla[]' value='asd'>  
<input type='checkbox' name='bla[]' value='asd2'>  
<input type="submit" name="asd" value="Send"> 
</form>  
<?php  
if($_POST['asd']){  
    if( 
is_array($_POST['bla']) ){
        echo 
"yes<BR>";  
        foreach(
$_POST['bla'] as $value
        echo 
"$value<BR>";   
}  
else  
    echo 
"no";  
}  
?>  
</body>  
</html>

אוקיי, אז עשיתי 2 תיבות של CheckBox , ונתתי להם ערך. הערך של הראשון הוא "asd" והערך של הCheckBox השני הוא "asd2". נתתי להם שם זהה, והוספתי את התווים "[]", כך PHP יוצר מערך שבמקרה שלנו זה בשם "bla" . אז "asd" יכנס למערך בשם bla והוא יוצב במקום [0]bla והערך השני שהוא "asd2" יוצב במקום [1]bla .
לאחר מכן עשיתי תנאי שיבדוק האם bla הוא מערך, והוא אמור להיות מערך אם שמנו לו ערכים, אם לא הוא לא יהיה. אז אם bla הוא מערך, זאת אומרת שסימנו CheckBox מסויים. אז אם הוא מערך עשיתי שיכתוב "yes" ואחרי ידפיס לי את כל אחד מהרכיבים שיש במערך bla . אם bla הוא לא מערך אז עשיתי שידפיס לי "no" . בקוד הזה הכל טוב, הוא מדפיס לי yes כשסימנתי וno כשלא.
עכשיו... הכל פה טוב ויפה, אבל מה קורה כשיש את הקוד הבא:
PHP קוד:

<html>  
<body>  
<form method="Post"> 
<input type="hidden" value="בדיקה">
<input type='submit' name='asd' value='Send'> 
</form>  
<?php  
echo "<input type='checkbox' name='bla[]' value='asd'>";
echo 
"<input type='checkbox' name='bla[]' value='asd2'>";
if(
$_POST['asd']){  
    if( 
is_array($_POST['bla']) ){
        echo 
"yes<BR>";  
        foreach(
$_POST['bla'] as $value
        echo 
"$value<BR>";   
}  
else  
    echo 
"no";  
}  
?>  
</body>  
</html>

זה אותו קוד רק שמתי את הCheckBoxים בקוד PHP, עכשיו הבעיה היא פה שזה תמיד מדפיס לי "no" נראה לי שהבעיה היא בדרך בה אני מתייחס למערך הזה , אולי בקוד PHP זה אחרת, כי אם הייתי שם גם את הכפתור לחיצה(Submit) בקוד PHP ובודק את אותו התנאי, זה לא היה עושה לי כלום(בדקתי), כי זה לא התייחס אליו כנראה נכון... יש דרך אחרת להתייחס לזה אם זה מקוד PHP? או שאם זה לא זה, מה היא הבעיה פה?

תודה לעוזרים

בניה 11-04-06 13:39

ב"ה


ה chackbox מחוץ לתגיות ה<form></form>
הם בכלל לא נשלחים.

eXtaZa 11-04-06 19:35

ניסיתי לעשות עם תגיות form , זה לא עוזר...

BlueNosE 11-04-06 23:01

ציטוט:

נכתב במקור על ידי eXtaZa
PHP קוד:

echo "<input type='checkbox' name='bla[]' value='asd'>"
echo 
"<input type='checkbox' name='bla[]' value='asd2'>"


מה לעזאזל...?!
אם כבר, $bla[], ואם כבר, אז {$bla[]}!!!
לא התייחסתי לשאר הקוד ואפילו לא קראתי אותו, זאת פשוט שגיאה שכ"כ בולטת..

עריכה:
אחרי קריאה הבנתי שאתה מנסה ליצור מערך.
אין אפשרות לעשות כזה דבר.
מצטער...

eXtaZa 11-04-06 23:47

מה אין אפשרות?
חח, כשאר אתה נותן שם עם [] זה מורה לPHP לבנות מערך...
ניסיתי לתת שם כזה ואז לגלוש ולהדפיס כל רכיב וזה עבד, וגם בדקתי לפני זה שזה מערך וזה עבד.
מה תגיד על זה?

בניה 12-04-06 00:02

ב"ה


אצלי השרת התיחס אל זה בתור מערך רק אם אחת מהתיבות סימון סומנה.
השתמשתי בקוד הזה:(זה מה שאמרתי לך לעשות בהתחלה)
PHP קוד:

<html>
<body>
<form method="Post">
<input type="hidden" value="&aacute;&atilde;&eacute;÷&auml;">
<?php
echo "<input type='checkbox' name='bla[]' value='asd'>";
echo 
"<input type='checkbox' name='bla[]' value='asd2'>";
?>
<input type='submit' name='asd' value='Send'>
</form>
<?php
if($_POST['asd']){
    if( 
is_array($_POST['bla']) ){
        echo 
"yes<BR>";
        foreach(
$_POST['bla'] as $value)
        echo 
"$value<BR>";
}
else
    echo 
"no";
}
?>
</body>
</html>

אני גם ממליץ לעשות ככה:
קוד:

$bla=$_POST['bla'];
ואז אתה תוכל לגשת אל האברים כרגיל.
קוד:

$bla[0],$bla[1]

BlueNosE 12-04-06 10:22

אבל זה סתם התחכמות, כי זה הרי לא מסוג מערך, זה נראה לי מאוד מתחכם לכתוב ככה bla[], וזה גם יצור לך בעיות בהמשך (כמו זאת).
חוצמזה אני לא חושב שזה יעזור אבל תנסה להחליף את $_POST ב $_REQUEST

eXtaZa 12-04-06 18:39

ציטוט:

נכתב במקור על ידי BlueNosE
אבל זה סתם התחכמות, כי זה הרי לא מסוג מערך, זה נראה לי מאוד מתחכם לכתוב ככה bla[], וזה גם יצור לך בעיות בהמשך (כמו זאת).
חוצמזה אני לא חושב שזה יעזור אבל תנסה להחליף את $_POST ב $_REQUEST

למה יצור בעיות? עכשיו זה לא יצר בעיה, הבעיה הייתה שהיו לי שתי תגי <form/>, ו<form> עכשיו עשיתי רק אחד וזה עבד...


כל הזמנים הם GMT +2. הזמן כעת הוא 19:35.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ