rand()PHP中的变量

时间:2013-10-23 21:35:23

标签: php html forms

我试图在PHP中创建一个类似random.org的网站但是当我转到页面时,我在第36行收到错误($ random = rand($ first,$ last);我该如何解决它? 这是代码!

<form action="numero.php" method="post">

<input type="text" name="first">
<input type="submit" value="last">

</form>


<?php 

function random() {

    $first = $_POST['first'];
    $last = $_POST['last']
    $random = rand($first,$last);
    }

echo random();

 ?>

5 个答案:

答案 0 :(得分:3)

你错过了一个分号:

$last = $_POST['last']; // <- here you missed it. 
$random = rand($first,$last);

因此您看到错误。为防止这种情况,您可以使用

检查语法
php -l your_file.php

您的代码存在更多问题,例如检查它是否是GET请求(并且需要显示表单)或POST请求(因此需要处理您的表单数据)。

答案 1 :(得分:0)

首次加载此页面时,您将没有任何POST数据。因此,您需要将您的东西包装在if中并测试是否设置了这些变量。

function random() {

    if(isset($_POST['first'])){
        $first = $_POST['first'];
        $last = $_POST['last'];
    } else {
        $first = 1;
        $last = 10;
    }
    $random = rand($first,$last);
}

答案 2 :(得分:0)

PHP内置的rand();函数只会将数字作为参数。

由于您在提交按钮中传递值last,该函数将抛出错误。

如果你给它一个数值,这应该解决。或者更好的是,从隐藏字段中检索数据,以便您可以保持按钮内的值相同。

修改

如上所述,您;之后还缺少分号($_POST['last'])。

答案 3 :(得分:0)

rand($min,$max)采用整数。默认情况下,$_POST的值是字符串。首先转换它们:

rand(intval($first),intval($last));

答案 4 :(得分:0)

查看php.net的函数,它需要int值。我建议您检查所需类型的帖子值。

同时检查php.net上提到的最大值。

你最后在哪里定义帖子名称?

我没有在表格中看到它。