【问题标题】:PHP if(){} does not echoes vars got from html [closed]PHP if(){} 不回显从 html 获得的变量 [关闭]
【发布时间】:2013-09-27 11:33:33
【问题描述】:

我只需要: 1.按下“提交”按钮后,让变量发挥作用并使用返回值。 2.了解为什么我不能回显函数返回值;

PHP 函数:

function check_if_numbers($x, $y)
{   
        $permission =0;
        if((gettype($x)==gettype($y))&&(gettype($x)=="integer")) {return 1;}
        else {return 0;}
}

PHP 代码

<?php
    if( isset($_GET['submit']) )
    {
        $x = htmlentities($_GET['x']);
        $y = htmlentities($_GET['y']);
        $permission_token=check_if_numbers($x, $y);
        echo $permission_token;
    }
?>

HTML

<form action="" method="get">
Determine X = <input name='x' id='x' type="text" size="1"></br>
Determine Y = <input name='y' id='y' type="text" size="1"></br>
<font size=2 >Input only integers</font>
<input type="submit" value="submit">

【问题讨论】:

  • 为什么不使用is_numeric()函数?
  • 是什么让您认为您不能使用echo 语句?
  • chek_if_numbers($x, $y)check_if_numbers($x, $y),capisce?
  • $permission_token=chek_if_numbers($x, $y); 调用你的函数时输入错误?
  • check_if_numbers()中$permission的作用是什么?

标签: php html get gettype


【解决方案1】:

您忘记命名提交按钮,这就是为什么永远不会设置 $_GET['submit']

<input type="submit" value="submit" name="submit" />   

删除这些关闭&lt;/input&gt; - 它们都是不正确的。

【讨论】:

  • 现在 echo 输出 0。我的 If 语句不会将值更改为 1。
  • 表单数据始终为STRING,因此在您的gettype() 支票中永远不会是=="integer"
  • @user2361662 您是新来的,所以建议:如果它回答了您的问题(确实如此),您应该接受答案。 :-)
  • 正确。有什么建议可以重新制作我的输入安全墙以仅捕获整数?
【解决方案2】:

当您调用chek_if_numbers 而不是check_if_numbers 时,缺少c

【讨论】:

    【解决方案3】:

    2 了解为什么我不能回显函数返回值;

    对于旧版本的 PHP(我认为是 4.3 之前),PHP 会将零(即echo(0);)回显为布尔值 false 而不是 0,因此它不会在屏幕上显示任何内容。

    【讨论】:

    • "PHP 不会显示回显的整数" ... ;) ... 真的???
    • 为什么echo 不显示整数?
    • 我的意思是它是零。这以前让我难过。自己试试吧。
    • PHP 甚至回显0 ...
    • @djot。它会回显 false 空白。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-16
    相关资源
    最近更新 更多