मुझे PHP चयन विकल्प में एक साधारण समस्या है।

पेज में 5 सेलेक्ट ऑप्शन और सबमिट बटन है। जब मैं कोई विकल्प चुनता हूं तो उसे विशिष्ट वेब पेज पर जाना चाहिए। उदाहरण के लिए: http://onlinetools.org/tricks/using_multiple_select.php

फिर मैं एक विकल्प चुनता हूं और भेजें दबाता हूं फिर यह दिखाता है कि मैं कौन सा विकल्प चुनता हूं। लेकिन मुझे विशिष्ट वेबपृष्ठ पर जाने की आवश्यकता है।

मैंने इस कोड के साथ प्रयास किया है लेकिन मैं असफल रहा हूं ...

<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
<select name="test[]" multiple="multiple">
    <option value="http://google.com">one</option>
    <option value="http://yahoo.com">two</option>
    <option value="http://facebook.com">three</option>
    <option value="http://who.is">four</option>
    <option value="http://myspace.com">five</option>
</select>
<input type="submit" value="Send" />
</form>




<?php
    $test=$_POST['test'];
echo "
<script type=\"text/javascript\">
window.location = \"$test\"
</script>

    ";
?>

कोई मेरी मदद कर सकता है?

php
0
Rasel Ahmed 6 जिंदा 2012, 10:40
कृपया $_SERVER['PHP_SELF'] का प्रयोग न करें। बस कार्रवाई को खाली छोड़ दें। जैसे method="post" action=""
 – 
Grexis
6 जिंदा 2012, 10:44
2
आपके चयन बॉक्स में multiple="multiple" क्यों है जबकि एक समय में केवल एक ही विकल्प समझ में आता है? इसी तरह, यह test[] क्यों है, जब आप इसे एक सरणी की तरह नहीं मान रहे हैं?
 – 
cHao
6 जिंदा 2012, 10:46

2 जवाब

सबसे बढ़िया उत्तर

यह एक साधारण चयन होना चाहिए न कि एक से अधिक क्योंकि आप केवल एक साइट पर पुनर्निर्देशित करना चाहते हैं। यहाँ कोड है:

<?php
    $test=$_POST['test'];
    if(isset($test)){
        header("Location: $test");
    }
?>

<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
<select name="test">
    <option value="http://google.com">one</option>
    <option value="http://yahoo.com">two</option>
    <option value="http://facebook.com">three</option>
    <option value="http://who.is">four</option>
    <option value="http://myspace.com">five</option>
</select>
<input type="submit" value="Send" />
</form>
5
redmoon7777 6 जिंदा 2012, 10:47
2
PHP_SELF असुरक्षित है, इसे खाली छोड़ने पर विचार करें।
 – 
Grexis
6 जिंदा 2012, 10:49
मैंने इसे अछूता छोड़ दिया क्योंकि मुझे लगा कि वह इसे एक परीक्षण स्क्रिप्ट के रूप में उपयोग कर रहा है। लेकिन आप सही हैं, सिर ऊपर करने के लिए thx।
 – 
redmoon7777
6 जिंदा 2012, 10:52

जैसा कि आपने घोषित किया है:

<select name="test[]" multiple="multiple">

test एक सरणी है, इस प्रकार आपको सरणी का पहला ऑब्जेक्ट लेना होगा या अप्रयुक्त [] को हटाना होगा। वैसे, आप एक HTTP पुनर्निर्देशन कर सकते हैं, जो तेज है और जावास्क्रिप्ट वाले की तुलना में अधिक बार काम करता है।

0
Geoffroy 6 जिंदा 2012, 10:44