【发布时间】: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