我一直在尝试创建一个php脚本,它从文本表单中获取任何数字,并将其放入数组中。然后我想循环遍历数组并输出每个数字。
到目前为止,在谷歌上搜索一下,我已经提出了这段代码。不幸的是,它不起作用。奇怪的是,我实际上已经让它在某些时候起作用,但不管怎样,代码在不实际更改脚本中的任何内容的情况下将不再起作用。
任何人都可以帮我完成这个,我的版本在某些时候起作用但不再适用。
(我知道我应该过滤输入,但因为这只是一个练习并不重要。)
<html>
<head>
<title>13.13</title>
<body>
<h2> Inputting numbers into array through form</h2>
<br>
<br>
<form>
<input type="text" name="number" />
<input type="button" value="submit" name="submit" />
</form>
<?php
session_start();
if (isset($_REQUEST['submit'])) {
$number = $_REQUEST['number'];
if (!isSet($_SESSION['number'])) {
$_SESSION['number'] = array();
}
array_push($_SESSION['number'], $number);
foreach($_SESSION['number'] as $key => $val) {
echo $key . ">" . $val;
}
}
?>
</body>
</html>
答案 0 :(得分:1)
在任何HTML输出之前将session_start()
移到代码顶部。在已经发送标题之后,您无法启动会话 - 并且因为已经发送了HTML输出而已经发送了它们。
无论如何,这只是一种很好的做法。
答案 1 :(得分:0)
您需要在表单中定义<?php
switch ($_POST['optradio']) {
case "small": header("Location: http://www.google.com"); break;
case "medium": header("Location: http://www.yahoo.com"); break;
case "large": header("Location: http://www.bing.com"); break;
case "extra-large": header("Location: http://www.bbc.co.uk"); break;
default:header("Location: http://www.theguardian.co.uk"); /* if $_POST['option'] was none of the above */
}
?>
。
此处'完整代码也始终将d = sqrt((x1-x2)^2,(y1-y2)^2,(z1-z2)^2,)
放在页面顶部。
method