Options άντε νά τά ξαναδούμε...

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Άβαταρ μέλους
nikirtsi
Δημοσιεύσεις: 169
Εγγραφή: 02 Ιουν 2006 16:35

Options άντε νά τά ξαναδούμε...

Δημοσίευση από nikirtsi » 27 Σεπ 2007 11:25

Όταν σέ ένα OPTION TAG δέν ορίζουμέ ώς ELEMENT τό VALUE τότε
ώς γνωστόν τό εξής OPTION ώς VALUE παίρνει τήν τιμή τού περιεχομένου τού
(ότι βρίσκεταί δηλαδή ανάμεσα στά <OPTION> ... </OPTION>)

Κώδικας: Επιλογή όλων

selTest_0&#58; 
<select name="selTest_0">
  <option>kalimera</option>
  <option>kalispera</option>
  <option>kalinixta</option>
</select>
Στόν εξής κώδικα δηλαδή τό RESPONSE τού selTest_0 θά είναι κάτι από αυτά
(kalimera, kalispera, kalinixta)
Ώς εδώ όλα κατανοητά λοιπόν...

Η απορία όπου γεννιέται τώρα είναι η εξής.
ότι βρίσκεταί δηλαδή ανάμεσα στά <OPTION> ... </OPTION> θα γίνη τό VALUE κατά τό RESPONSE;
Έτσι φαίνετε ώς είπα, αλλά όχι..

το RESPONSE VALUE δέν θά είναι ακριβώς ίσο μέ τό περιεχόμενο τού
<OPTION> ... </OPTION> αλλά ίσο μέ αυτό πού μπορεί
να προβληθή από τό περιεχόμενο τού <OPTION> ... </OPTION>.

Τώρα μπερδεύτηκε κάπως.

Γιά ρίξτε μιά ματιά παρακάτω..
σύμφωνα μέ τά λεγόμενα μου επομένως τί περιμένετε ώς RESPONSE νά έχη ο κάτωθι κώδικας;

Κώδικας: Επιλογή όλων

selTest_2&#58;
<select name="selTest_2">
<option><a href>kalimera</a></option>
<option><a href>kalispera</a></option>
<option><a href>kalinixta</a></option>
</select>
$_REQUEST["selTest_2"] => [kalimera | kalispera | kalinixta]
ή
$_REQUEST["selTest_2"] => [<a href>kalimera</a> | <a href>kalispera</a> | <a href> kalinixta</a>]

Ισχύει τό πρώτο.
Γενικότερα αγνοείτε οποιοδήποτε TAG από τό VALUE πού είναι προερχόμενο από <OPTION>...</OPTION>, ακόμα καί στά customs..


Μάλιστα ..
λέτε όμως αυτό νά είναι κάτι πού αφορά τό ίδιο τό VALUE ELEMENT τών OPTIONS..
τί θέλω να πώ;

Κώδικας: Επιλογή όλων

selTest_3&#58; 
<select name="selTest_3">
  <option value="<a href>kalimera</a>">kalimera</option>
  <option value="<a href>kalispera</a>">kalispera</option>
  <option value="<a href>kalinixta</a>">kalinixta</option>
</select>
Τώρα τί λέτε; ποιό τό πεδιό τιμών τού selTest_3
τί από τά διό;
$_REQUEST["selTest_3"] => [kalimera | kalispera | kalinixta]
ή
$_REQUEST["selTest_3"] => [<a href>kalimera</a> | <a href>kalispera</a> | <a href> kalinixta</a>]

τό δεύτερο είναι η απάντηση..

Η αντιμετώπισι δέν είναι λανθασμένη κατά τήν κρίσιν μου από τόν BROWSER
αλλά ώς βλέπαιτε είναι αξιοπερίεργος καί αυτό μέ έκανε νά τήν δημοσιεύσω...
αλλά καί πέρα τού αυτού, νά υποστηρίξω έναν ακόμα λόγο για τόν οποίον δέν πρέπει νά αγνοείτε τό VALUE ELEMENT στά OPTION TAGS..

*Τά παραπάνω δοκιμάστηκαν σέ Firefox 2.x

Σάς αποστέλλω καί ένα υπόδειγμα κώδικα, άν θέλετε να πειραματειστήτε λίγο παραπάνω
γιά να κρίνετε τί προβλήματα μπορούν νά προκληθούν από ακρότητες...

Κώδικας: Επιλογή όλων

<?php
function make_ArrayListValue&#40;$array, $sName="sName", $HTML_Params=""&#41;
&#123;//make_ArrayListValue&#40;mixed&#41;
$fvRet = "";
	if &#40; is_array&#40;$array&#41; &#41;
	&#123;//is isArray
		$fvRet = "<select ".$HTML_Params." name='".$sName."' > \n";
		while &#40;$c = current&#40;$array&#41;&#41; 
    	&#123;//while
			$fvRet = $fvRet . "<option value='".key&#40;$array&#41; ."' >".$c."</option>";
    		next&#40;$array&#41;;
		&#125;//while		
		$fvRet = $fvRet."</select>";
	&#125;//is Array
return &#40;$fvRet&#41;;
&#125;//make_ArrayListValue&#40;mixed&#41;
?>


<html><head></head><body>
<form method="post">

selTest_0&#58; 
<select name="selTest_0">
<option value="1">kalimera</option><option value="2">kalispera</option><option value="3">kalinixta</option>
</select><br/>

selTest_1&#58;
<select name="selTest_1">
<option>kalimera</option><option>kalispera</option><option>kalinixta</option>
</select><br/>

selTest_2&#58;
<select name="selTest_2">
<option><asd>kalimera</asd></option><option><asd>kalispera</asd></option><option><asd>kalinixta</asd></option>
</select><br/>

selTest_3&#58;
<select name="selTest_3">
<option><a href></a></option><option><a href></a></option><option><a href></a></option>
</select><br/>

selTest_4&#58;
<?php 
$array&#91;"<b>a</b>"&#93; = "kalimera";
$array&#91;"b"&#93; = "kalispera";
$array&#91;"c"&#93; = "kalinixta";
echo make_ArrayListValue&#40;$array, "selTest_4"&#41;."<br/>";
?>

<input type="submit" name ="cmdSubmit" />
</form>

<?php
echo "The selTest_0 value is ".$_POST&#91;"selTest_0"&#93;."<br/> \n";
echo "The selTest_1 value is ".$_POST&#91;"selTest_1"&#93;."<br/> \n";
echo "The selTest_2 value is ".$_POST&#91;"selTest_2"&#93;."<br/> \n";
echo "The selTest_3 value is ".$_POST&#91;"selTest_3"&#93;."<br/> \n";
echo "The selTest_4 value is ".$_POST&#91;"selTest_4"&#93;."<br/> \n";

print_r&#40;$array&#41;;
if &#40; !array_key_exists&#40;$_POST&#91;"selTest_4"&#93;, $array&#41; &#41; $msgFound = "NOT"; else $msgFound = "";
echo $_POST&#91;"selTest_4"&#93;." ".$msgFound." founded in array.<br>";
?>
</body></html>
Ακόμα και ο ήλιος, στό αριστερό μελίγγι μου ανατέλλει καί στό ζερβό δύει.

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες