首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP IF / ELSEIF / ELSE不起作用

PHP IF / ELSEIF / ELSE不起作用
EN

Stack Overflow用户
提问于 2018-08-22 05:52:20
回答 2查看 105关注 0票数 0

我有一个PHP脚本,它接受从HTML表单传递的变量并更新平面文件。问题是简单的if / else if/else语句不起作用,特别是在执行比较时,它不能打开正确的文件。来自表单的输入将始终写入最后一个文件,即gcads3.txt。我已经测试了从表单传递到脚本的正确细节,即一个、两个或三个正确地传递到$col,所以我知道是比较有问题。我已经检查了基于PHP文档和关于这个问题的其他帖子的if / else if/else语法,那么,我遗漏了什么?提前谢谢你。

HTML代码:

代码语言:javascript
复制
<form action="updategcads.php" method="post" enctype="multipart/form-data">
  <p>Enter the column to add the new line to:</p>
  <p><input type="radio" name="col" value="one"/> Column 1 
     &nbsp;&nbsp;
     <input type="radio" name="col" value="two"/> Column 2 
     &nbsp;&nbsp;
     <input type="radio" name="col" value="three"/> Column 3
  </p>
  <p>Enter the new line to add:<br><span>(enter the name)</span></p>
  <p><input type="text" name="advs" size="50"/></p>
  <p><input type="submit" value="Update"/></p>
</form> 

updategcads.php代码:

代码语言:javascript
复制
<?php
if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST") 
{
  $col = $_POST["col"]; 
  $line = $_POST["advs"]; 
}

if ($col=="one")
{
  $file = fopen("../gcads1.txt", "a") or die("unable to open $file: $!");
} 
elseif ($col=="two") 
{
  $file = fopen("../gcads2.txt", "a") or die("unable to open $file: $!");
} 
else
{
  $file = fopen("../gcads3.txt", "a") or die("unable to open $file: $!");
}

fwrite($file, $line);
fclose($file);
?>
EN

回答 2

Stack Overflow用户

发布于 2018-08-22 06:24:21

所以,我把"else if“改成了”else if“,这样就行了。我不确定为什么会这样,PHP文档也不清楚,所以如果有人能说明这一点,我将不胜感激。谢谢!

票数 0
EN

Stack Overflow用户

发布于 2018-08-22 07:10:56

您可能需要考虑以下代码。没有太大的不同,但可能会有增长。

代码语言:javascript
复制
<?php
if(isset($_POST['col']) {
  $col = $_POST["col"]; 
  $line = $_POST["advs"]; 
}
$nums = array(
  "one" => 1,
  "two" => 2,
  "three" => 3,
  "four" => 4,
  "five" => 5.
  "six" => 6,
  "seven" => 7,
  "eight" => 8,
  "nine" => 9,
  "zero" => 0
);

$file = fopen("../gcads" . $nums[$col] . ".txt", "a") or die("unable to open $file: $!");

fwrite($file, $line);
fclose($file);
?>

或者,您也可以使用switch()。发人深省。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51957180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档