如何在更改选择选项时更改PHP内容

时间:2019-11-15 11:08:27

标签: php if-statement switch-statement

我正在创建一个引文表单,用户将在其中输入期刊信息(名称,标题,页面,日期等),提交表单后,所有输入值将保存在php变量中并创建引用。现在,我想添加一个功能,在提交表单后,用户可以选择他/她想要的参考样式。选择选项后,结果应更改。

  <select name="refer" type="text" class="form-control input" >
     <option value="1">APA</option>
     <option value="2">Harvard</option>
  </select>   

我的PHP代码如下

if(isset($_POST['submit'])){ 
    $fname= $_POST['fname'];
    $mname= $_POST['mname'];
    $lname= $_POST['lname'];
    $title= $_POST['title'];
    $journal= $_POST['journal'];
    $page= $_POST['page'];
    $volume= $_POST['volume'];
    $month= $_POST['month'];
    $year= $_POST['year'];
    $issue= $_POST['issue'];
    $refer= $_POST['refer'];

    switch($refer){
        case '1':   echo "<h4>". ucfirst($lname). ','. ucfirst($fname[0]) .'. (' . $year . '). ' . $title. '. '. $journal. ', '. $volume .'('. $issue .'), '.$page ."</h4>" ;
        break;
        case '2':   echo "<h4>". ucfirst($lname). ','. ucfirst($fname[0]) .'. ' . $year . '. ' . $title. '. '. $journal. ', '. $volume .'('. $issue .'), p.'.$page ."</h4>" ;
        break;
    }
}

但是此开关不起作用,因为它位于isset($ _ POST ['submit'])语句中,并且如果没有单击提交按钮就无法工作,而且我也不能将其置于isset($ _ POST ['submit' ])声明。

1 个答案:

答案 0 :(得分:0)

<?php
	if(isset($_POST['submit']))
	{
		$name = $_POST['fname'];
		$refer = $_POST['refer'];
		switch($refer){
			case "1":
				echo "<h4>". ($name) ."</h4>";
				break;
			case "2":
				echo "HI 2";
				break;
			default:
				echo "error";
		}
	}
?>
<form method="post" action="">
Name: <input type="text" name="fname" placeholder="name">
<select name="refer" type="text" class="form-control input" >
     <option value="1">APA</option>
     <option value="2">Harvard</option>
  </select>
  <input type="submit" value="submit" name="submit">
</form>