我试图在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();
?>
答案 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上提到的最大值。
你最后在哪里定义帖子名称?
我没有在表格中看到它。