Могу ли я указать, какой блок php-кода вы хотите запустить, когда выбираете переключатель из формы в html? - PullRequest
0 голосов
/ 24 октября 2011

Например, у меня есть несколько полей, которые пользователь может заполнить, но я хочу, чтобы код PHP выдавал что-то другое, в зависимости от того, какую радио-кнопку они выбирают.

 <html>
<body>

<form action="citation.php" method="post">
<table width="100%" border="0">
  <tr>
    <td>Name</td>
    <td><label for="name2"></label>
      <input type="text" name="name" id="name2"></td>
  </tr>
  <tr>
    <td>Number</td>
    <td><label for="number"></label>
      <input type="text" name="number" id="number"></td>
  </tr>
  <tr>
    <td>Email</td>
    <td><label for="email"></label>
      <input type="text" name="email" id="email"></td>
  </tr>
  <tr>
    <td>Address</td>
    <td><label for="address"></label>
      <input type="text" name="address" id="address"></td>
  </tr>
  <tr>
    <td>web</td>
    <td><label for="web"></label>
      <input type="text" name="web" id="web"></td>
  </tr>
  <tr>
    <td><p>
      <label>
          <input type="radio" name="RadioGroup1" value="ex1" id="RadioGroup1_0">
          ex1</label>
        <br>
        <label>
          <input type="radio" name="RadioGroup1" value="ex2" id="RadioGroup1_1">
          ex2</label>
        <br>
        <label>
          <input type="radio" name="RadioGroup1" value="ex3" id="RadioGroup1_2">
          ex3</label>
        <br>
    </p></td>
    <td><input type="submit" name="click me" id="click me" value="Submit"></td>
  </tr>
</table>
<p>&nbsp;</p>
</form>
</body>
</html>

Таким образом, если они выберут первую радиокнопку и нажмут на кнопку отправки, это выдаст нечто иное, чем если бы вы выбрали 2-ю радиокнопку.

Ответы [ 3 ]

1 голос
/ 24 октября 2011

это довольно простой PHP

<?php
  if($_POST['RadioGroup1']=='ex1'){
    ?>
     You hit the first radio button, now he's hurt!
    <?
  }elseif($_POST['RadioGroup1']=='ex2'){
     ?>
     You hurted the feelings of the second radio btn
     <?
  }elseif($_POST['RadioGroup1']=='ex3'){
    ?>
     The tird radio button was clicked by you
    <?
  }
?>

или даже лучше:

<?php
  switch($_POST['RadioGroup1'){
     case 'ext1':
        ?>
         You hit the first radio button, now he's hurt!
       <? 
      break;
     case 'ext2':
        ?>
          You hurted the feelings of the second radio btn
       <? 
      break;
     case 'ext3':
        ?>
          The tird radio button was clicked by you
       <? 
      break;
        default: die('wrong')
    }
  }
?>

вместо вставки HTML в PHP, вы также можете включить файлы:

<?php
  switch($_POST['RadioGroup1'){
     case 'ext1':
        include('form/1clicked.php')
      break;
      ....
    }
  }
?>
1 голос
/ 24 октября 2011

Когда вы делаете стандартную отправку формы, поля формы name автоматически передаются в php как параметры POST, то есть в $_POST.Если поле имеет name="test" и value="valueTest", то на уровне php вы получите это значение как $_POST['test'].Ниже приведен пример того, как обращаться с вашим конкретным случаем:

    <?php

        switch ($_POST['RadioGroup1']) {
            case 'ex1':
                // handle ex1 case
                break;
            case 'ex2':
                // handle ex2 case
                break;
            case 'ex3':
                // handle ex3 case
                break;
            default:
                // handle cases here where RadioGroup1 has invalid value
                break;
        }

    ?>
0 голосов
/ 24 октября 2011
if(isset($_POST['firstradio']))
{
echo "Content for First Radio";
}
elseif(isset($_POST['secondradio']))
{
echo "Content for Second Radio";
}
else
{
echo "Something";
}
...