2016-05-16 57 views
-1

我有一个基本的形式在我的index.html页面上询问用户输入的号码。如下图所示:然后形式数据到PHP变量

<html>  
<form action="display.php" method="post"> 
Number: <input type="text" name="number"> 
<input type="submit"> 
</form> 
</html> 

PHP文件是要检查的人数对如果一个函数else语句和回声如果一个有效的数字或没有。如下图所示:

<?php 
$number = $_POST["number"]; 

function numbercheck($number) { 
//if else statements 
} 

numbercheck(); 
?> 

所以我的问题是,这是形式的数据分配给PHP变量,因此可以再在函数中使用还是我完全做错了正确的方法。

+5

你需要的变量也传递给函数调用和返回的东西。 –

+1

您需要将它像:'numbercheck($ numbertocheck);' – Panda

+0

应后变量传递给调用函数'' –

回答

1

这里是让PHP中发布的数据变量的正确方法,使用isset()empty()分配$_POST['number']给一个变量之前,这会防止你不确定的错误..

<?php 
$number=''; 
if(!empty($_POST["number"])) 
{ 
    $number = $_POST["number"]; 
    numbercheck($number); 
} 


function numbercheck($number) 
{ 
//if else statements 
} 
?> 
您想将其更改为类,并调用函数在另一个文件

第二个选项,然后

在你class.php文件:

<?php 
    class Numbers { 

     /* Member function*/ 
     function numbercheck($number) 
     { 
     //if else statements 
     } 
    } 
?> 

在你的第二个文件index.php

<?php 
include('class.php'); 
$Numbers = new Numbers; ///Here we have created new object 

if(!empty($_POST["number"])) 
{ 
    $number = $_POST["number"]; 
    $Numbers->numbercheck($number); ///access member function 
} 
?> 
+1

'isset($ _ POST [“number”])&&'不需要。 '!empty($ _ POST [“number”])'就足够了。 –

+0

是的,没有必要同时使用两者。我已经尝试过了,只有'空'就足够了。谢谢@ Fred-ii- –

+0

你在'numbercheck()'函数中写了什么? @david –

2

只是传递$号功能:

<?php 
$number = $_POST["number"]; 
numbercheck($number); 


function numbercheck($number) { 
//if else statements 
} 
?> 
0

正如我在评论中所指出,需要将变量传递给函数:

$number = $_POST["number"]; 

numbercheck($number); 

function numbercheck($number) { 
    //if else statements 

return true; 
} 
1

在你的PHP代码,你必须通过$number变量才能发挥作用。像这样:

<?php 
    $number = $_POST["number"]; 

    // this is only declaration, not call 
    function numbercheck($number) { 
     //if else statements && return your answer 
    } 

    //here you are calling your function and displaying it on page 
    echo numbercheck($number); 
?>