Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 基于输入信息的PHP if函数不起作用_Javascript_Php_Html_Forms_Input - Fatal编程技术网

Javascript 基于输入信息的PHP if函数不起作用

Javascript 基于输入信息的PHP if函数不起作用,javascript,php,html,forms,input,Javascript,Php,Html,Forms,Input,基本上,我是从表单中提取信息,我想根据用户的输入回显不同的内容。然而,我只得到了第一个结果。我怎样才能解决这个问题?代码如下: <head> <title></title> <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js" type="text/javascript"></script> <scrip

基本上,我是从表单中提取信息,我想根据用户的输入回显不同的内容。然而,我只得到了第一个结果。我怎样才能解决这个问题?代码如下:

<head>
    <title></title>
    <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js" type="text/javascript"></script>
    <script src="http://code.jquery.com/jquery-1.9.1.js" type="text/javascript"></script>
    <script type="text/javascript">
        function showHide() {
            var div = document.getElementById("hidden");
            if (div.style.display == 'none') {
                 div.style.display = '';
            }
            else {
            }   
        }
    </script>

    <script type="text/javascript">
        $(function () {
            $('form').on('submit', function (e) {
                $.ajax({
                    type: 'post',
                    url: 'post.php',
                    data: $('form').serialize(),
                    success: function () {
                    alert('form was submitted');
                    }   
                });
            e.preventDefault();
            });
        });
    </script>
</head>
<body>
    <form action="" method="post">
        <input type="text" name="t0i"><input type="submit" onclick="showHide();">
    </form>
    <div style="display:none;" id="hidden">
        <?php
        $t0 = $_POST["t0i"];
        if ($t0 = "1") {
            echo "result 1";
        }
        elseif ($t0 = "2") {
            echo "result 2";
        }
        elseif ($t0 = "3") {
            echo "result 3";
        }
        else {
            echo "no result, try again";
        }
        ?>
    </div>
</body>

函数showHide(){
var div=document.getElementById(“隐藏”);
如果(div.style.display=='none'){
div.style.display='';
}
否则{
}   
}
$(函数(){
$('form')。关于('submit',函数(e){
$.ajax({
键入:“post”,
url:'post.php',
数据:$('form')。序列化(),
成功:函数(){
警报(“表格已提交”);
}   
});
e、 预防默认值();
});
});
javascript是必不可少的,它在提交时显示隐藏结果(display:none;),第二个脚本确保提交表单后页面不会刷新(所有操作都在同一页面上完成)。然而,删除这两个脚本并不能解决我的问题。我感觉问题出在PHP中,但我不知道它是什么。提前谢谢。这是一个演示:

给你:)

正确:

if ($t0 == "1")
给你:)

正确:

if ($t0 == "1")

正如Sergey指出的,你需要使用双等号进行比较。请查看手册页:

正如谢尔盖指出的那样,需要使用双等号进行比较。请查看手册页:

运算符=用于赋值。运算符==在两种不同类型(如果它们不同)之间强制转换,而===运算符执行“类型安全比较”。这意味着只有当两个操作数的类型和值相同时,它才会返回true

示例:

$a = 1; // assign value
1 === 1: true
1 == 1: true
1 === "1": false // 1 is an integer, "1" is a string
1 == "1": true // "1" gets casted to an integer, which is 1
"foo" === "foo": true // both operands are strings and have the same value
您可以使用开关语句

Switch:Switch语句类似于同一表达式上的一系列IF语句。在许多情况下,您可能希望将同一变量(或表达式)与许多不同的值进行比较,并根据它等于哪个值执行不同的代码段

   $t0 = $_POST["t0i"];
   switch ($t0) {
        case 1:
             echo "result 1";
            break;
        case 2:
             echo "result 2";
            break;
        case 3:
             echo "result 3";
            break;
        default:
            echo "no result, try again";
            break;
    }

运算符=用于赋值。运算符==在两种不同类型之间进行强制转换(如果它们不同),而运算符===执行“类型安全比较”。这意味着只有当两个操作数的类型和值相同时,它才会返回true

示例:

$a = 1; // assign value
1 === 1: true
1 == 1: true
1 === "1": false // 1 is an integer, "1" is a string
1 == "1": true // "1" gets casted to an integer, which is 1
"foo" === "foo": true // both operands are strings and have the same value
您可以使用开关语句

Switch:Switch语句类似于同一表达式上的一系列IF语句。在许多情况下,您可能希望将同一变量(或表达式)与许多不同的值进行比较,并根据它等于哪个值执行不同的代码段

   $t0 = $_POST["t0i"];
   switch ($t0) {
        case 1:
             echo "result 1";
            break;
        case 2:
             echo "result 2";
            break;
        case 3:
             echo "result 3";
            break;
        default:
            echo "no result, try again";
            break;
    }

我已经使用Firebug进行了检查,它给出了未定义的索引:t0i post没有赋值。所以没有条件被满足,所以你没有得到任何结果

<head>
    <title></title>
    <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js" type="text/javascript"></script>
    <script src="http://code.jquery.com/jquery-1.9.1.js" type="text/javascript"></script>
    <script type="text/javascript">
        function showHide() {
            var div = document.getElementById("hidden");
            if (div.style.display == 'none') {
                 div.style.display = '';
            }
            else {
            }   
        }
    </script>

    <script type="text/javascript">
        $(function () {
            $('form').on('submit', function (e) {
            var val=$('#t0i').val();
                $.ajax({
                    type: 'POST',
                    url: 'form.php',
                    data:{val:val},

                    success: function (data) {
        if (val == "1"){
             $('#hidden').html("result 1");
        }
        else if (val== "2"){
             $('#hidden').html("result 2");
        }
        else if (val == "3") {
            $('#hidden').html("result 3");
        }
        else {
            $('#hidden').html("no result, try again"); 
        }

                    }   
                });
            e.preventDefault();
            });
        });
    </script>
</head>
<body>
    <form action="" method="post">
        <input id="t0i" type="text" name="t0i"><input type="submit" onclick="showHide();">
    </form>
    <div style="display:none;" id="hidden">

    </div>
</body>

函数showHide(){
var div=document.getElementById(“隐藏”);
如果(div.style.display=='none'){
div.style.display='';
}
否则{
}   
}
$(函数(){
$('form')。关于('submit',函数(e){
var val=$('#t0i').val();
$.ajax({
键入:“POST”,
url:'form.php',
数据:{val:val},
成功:功能(数据){
如果(val=“1”){
$('#hidden').html(“结果1”);
}
否则,如果(val==“2”){
$('#hidden').html(“结果2”);
}
否则,如果(val==“3”){
$('#hidden').html(“结果3”);
}
否则{
$('#hidden').html(“没有结果,请重试”);
}
}   
});
e、 预防默认值();
});
});

我已经使用Firebug进行了检查,它给出了未定义的索引:t0i post没有赋值。所以没有条件被满足,所以你没有得到任何结果

<head>
    <title></title>
    <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js" type="text/javascript"></script>
    <script src="http://code.jquery.com/jquery-1.9.1.js" type="text/javascript"></script>
    <script type="text/javascript">
        function showHide() {
            var div = document.getElementById("hidden");
            if (div.style.display == 'none') {
                 div.style.display = '';
            }
            else {
            }   
        }
    </script>

    <script type="text/javascript">
        $(function () {
            $('form').on('submit', function (e) {
            var val=$('#t0i').val();
                $.ajax({
                    type: 'POST',
                    url: 'form.php',
                    data:{val:val},

                    success: function (data) {
        if (val == "1"){
             $('#hidden').html("result 1");
        }
        else if (val== "2"){
             $('#hidden').html("result 2");
        }
        else if (val == "3") {
            $('#hidden').html("result 3");
        }
        else {
            $('#hidden').html("no result, try again"); 
        }

                    }   
                });
            e.preventDefault();
            });
        });
    </script>
</head>
<body>
    <form action="" method="post">
        <input id="t0i" type="text" name="t0i"><input type="submit" onclick="showHide();">
    </form>
    <div style="display:none;" id="hidden">

    </div>
</body>

函数showHide(){
var div=document.getElementById(“隐藏”);
如果(div.style.display=='none'){
div.style.display='';
}
否则{
}   
}
$(函数(){
$('form')。关于('submit',函数(e){
var val=$('#t0i').val();
$.ajax({
键入:“POST”,
url:'form.php',
数据:{val:val},
成功:功能(数据){
如果(val=“1”){
$('#hidden').html(“结果1”);
}
否则,如果(val==“2”){
$('#hidden').html(“结果2”);
}
否则,如果(val==“3”){
$('#hidden').html(“结果3”);
}
否则{
$('#hidden').html(“没有结果,请重试”);
}
}   
});
e、 预防默认值();
});
});

你的if条件必须是'=='不是'='你的if条件必须是'='不是'='有时这个错误会让我发疯。)现在我一直得到“没有结果”(否则)。。。我做错了什么?好吧,试着打印$u POST[“t0i”]并确保它具有预期的值var\u dump($u POST[“t0i”])有时这个错误会让我发疯。)现在我一直得到“无结果”(否则)。。。我做错了什么?好的,试着打印$u POST[“t0i”]并确保它具有预期的值var\u dump($u POST[“t0i”]),现在我继续得到“无结果”(否则)。。。我做错什么了?你能把你的电子邮件发出去吗