【问题标题】:How to change php content on change of select option如何在更改选择选项时更改 php 内容
【发布时间】:2019-11-15 11:08:27
【问题描述】:

我正在创建一个引文表单,用户将在其中输入期刊信息(名称、标题、页面、日期等),提交表单后,所有输入值都保存在 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' ]) 陈述。

【问题讨论】:

  • 您是否希望将其作为一次性操作,以便用户在提交其余数据后一步做出此选择,但任何数据永久获取之前存储在任何地方 - 还是您想先存储数据,然后让用户在以后随时更改此选择?
  • 这个问题和你昨天问的有什么不同? stackoverflow.com/questions/58851425/… 实际上对我来说似乎几乎是一样的。
  • 就像昨天在回答您的问题时强调的那样:会话是您的朋友!
  • “我想先存储数据,而不是让用户以后可以随时更改此选择。” - 那么这不属于您尝试放置的地方首先是它。为此,您需要一个单独的表格,并且它应该包含一些 ID,以便您找到用户请求编辑的特定记录(例如它的数据库 ID,如果那是您将数据串起来的地方。)然后当该表格提交后,您对该记录执行 UPDATE 语句,在相应列中设置新值。

标签: php if-statement switch-statement


【解决方案1】:

<?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>  

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-29
    • 1970-01-01
    • 1970-01-01
    • 2011-03-11
    • 1970-01-01
    相关资源
    最近更新 更多