Взимане на стойност

mapka7a

Registered
Здравейте,дали е възможно във една HTML форма да имам няколко input полета(radio), със един и същ name.И после как да разбера точно кой радио бутон е селектиран ?

Благодаря :)
 
Би трябвало да е така, но не съм го пробвал
PHP:
<?
echo '<form method="post">
echo '<input type="submit" name="submit">
echo '<label>';
echo "<input type='radiobutton' name='comp[]' value='нещо '>";
echo '<br>';
echo '</label>';
echo '</form>
if(isset($_POST['submit']))
{
foreach($_POST['comp'] as $txt) 
echo $txt;
}
?
 
Да и аз се сетих за това,но примерно,ако имам 4 полета,които са със name='comp[]', не ми изкарва нищо.
 
mapka7a каза:
Да и аз се сетих за това,но примерно,ако имам 4 полета,които са със name='comp[]', не ми изкарва нищо.
защо ти е да имаш 4 полета с едно и също име като може всичките да са в едно общо или аз не схванах каква е целта на занятието. :roll:

ПС: Това което аз ти дадох е част от код, който е свързан с база данни и с while цикъл и се създават Х брой полета. Затова се създава масив и там се съхраняват избраните стойности и после се визуализират или в моя случай се добавят към базата.
 
Виш ся как става, незнам за какво ще го ползваш кода , но ще ти дам пример с АНКЕТА:

1. трябват ти 2-3 такива инпута с еднакво име и после само проверяваш стойноста .. (гледай)
HTML:
<form method='post'>
Wapros:
  Да : <Input type='radio' name='answer' value="yes">

  Не : <Input type='radio' name='answer' value="no">

  Може би : <Input type='radio' name='answer' value="maybe">

<input type='submit' name="dd" value="OTGOWOR !" />
</form>

и ся php-то отдоло ПОД формата. .. там вече фитрираш всичко

PHP:
if(isset($_POST['dd']))
{
  $answer = $_POST['answer'] // тъйкато имаме МНОГО полета с ЕДНАКВО име(не масив, а име) 
//-> ние може да се обърнем към него като към 1 единствено ПОЛЕ ..
//   а то да има СТОЙНОСТ -> VALUE на избраното инпутче
// -> $answer -> може да е -> yes/no/maybe (value атрибута на всяко поле)
// за да провериш КОЙ е натиснат .. 
 
  if($answer == "yes")
 {
    echo "Избрал Си:  ДА"; 
 }

  if($answer == "no")
 {
    echo "Избрал Си:  НЕ"; 
 }

  if($answer == "maybe")
 {
    echo "Избрал Си:  МОЖЕ БИ"; 
 }

// и така - вкрайна сметка -> $answer -> съдържа стойноста от value на избрания инпут

}

Това е лесния начин, дано си разбрал как действат. Само да спомена, че примера на колегата отгоре със цикъл е по-правилния начин, защото ако имаш примерно 30 инпута и се наложи да ги обходиш или провериш да не са празни, то ако го пишеш всичкото както АЗ - отгоре ще се разревеш на половината .. и ще речеш "Бе, няма ли някакъв по-лесен начин" и ще се сетиш, че има -> с цикъл , и ще кажеш " каде съм бил, че не съм го видял тва".. :?: :?: :?: :?: :?:

Тъй че пробвай и двата примера :)

:?: :?: :?: :?: :?: :?: :?:
 
joTunkiq каза:
Виш ся как става, незнам за какво ще го ползваш кода , но ще ти дам пример с АНКЕТА:

1. трябват ти 2-3 такива инпута с еднакво име и после само проверяваш стойноста .. (гледай)
HTML:
<form method='post'>
Wapros:
  Да : <Input type='radio' name='answer' value="yes">

  Не : <Input type='radio' name='answer' value="no">

  Може би : <Input type='radio' name='answer' value="maybe">

<input type='submit' name="dd" value="OTGOWOR !" />
</form>

и ся php-то отдоло ПОД формата. .. там вече фитрираш всичко

PHP:
if(isset($_POST['dd']))
{
  $answer = $_POST['answer'] // тъйкато имаме МНОГО полета с ЕДНАКВО име(не масив, а име) 
//-> ние може да се обърнем към него като към 1 единствено ПОЛЕ ..
//   а то да има СТОЙНОСТ -> VALUE на избраното инпутче
// -> $answer -> може да е -> yes/no/maybe (value атрибута на всяко поле)
// за да провериш КОЙ е натиснат .. 
 
  if($answer == "yes")
 {
    echo "Избрал Си:  ДА"; 
 }

  if($answer == "no")
 {
    echo "Избрал Си:  НЕ"; 
 }

  if($answer == "maybe")
 {
    echo "Избрал Си:  МОЖЕ БИ"; 
 }

// и така - вкрайна сметка -> $answer -> съдържа стойноста от value на избрания инпут

}

Това е лесния начин, дано си разбрал как действат. Само да спомена, че примера на колегата отгоре със цикъл е по-правилния начин, защото ако имаш примерно 30 инпута и се наложи да ги обходиш или провериш да не са празни, то ако го пишеш всичкото както АЗ - отгоре ще се разревеш на половината .. и ще речеш "Бе, няма ли някакъв по-лесен начин" и ще се сетиш, че има -> с цикъл , и ще кажеш " каде съм бил, че не съм го видял тва".. :?: :?: :?: :?: :?:

Тъй че пробвай и двата примера :)

:?: :?: :?: :?: :?: :?: :?:
Със swich е по-кратко :D
 

Back
Горе