有一个页面:login.php
我尝试通过表单接收用户名和密码。
的login.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org /TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Giris Yap</title>
</head>
<body>
<form id="form1" name="form" method="post" action="welcome.php">
<table width="275" border="1">
<tr>
<td width="103">user; name: </td>
<td width="156"><label>
<input type="text" name= "name" />
</label></td>
</tr>
<tr>
<td>password:</td>
<td><label>
<input type="password" name="textfield2" />
</label></td>
</tr>
</table>
<p><label>
<input type="submit" name="Submit" value="submit" />
</label>
<label>
<input type="reset" name="Submit2" value="reset" />
</label>
</p>
</form>
<p> </p>
<p> </p>
</body>
</html>
之后我想把我的页面引到welcome.php并说欢迎......名字......但它不起作用。谁能帮我。
的welcome.php:
<?php
$name = $_REQUEST['name'];
echo "Welcome"$name;
?>
答案 0 :(得分:0)
试试这样。
在此上下文中始终使用isset()
构造。由于我们知道您的<form>
方法有操作POST,因此您可以使用$_POST
代替$_REQUEST
<?php
if(isset($_POST['name']))
{
$name = $_POST['name'];
echo "Welcome $name";
}
?>
此外,您在 <form>
上缺少提交按钮代码,请执行此操作
<form id="form1" name="form" method="post" action="welcome.php">
<table width="275" border="1">
<tr>
<td width="103">User; Name: </td>
<td width="156"><label>
<input type="text" name= "name" />
<input type="submit" name="submit" />
</label></td>
</tr>
</form>
答案 1 :(得分:0)
这完全取决于您在表单中指定的方法。如果您的表单为method="post"
,那么您需要检索$_POST['name']
如果您的表单method="GET"
,那么您需要检索$_GET['name']
$name = $_POST['name']; // you have used method='post'
echo "Welcome" .$name;
此外,$_REQUEST
- 一个关联数组,默认情况下包含$ _GET,$ _POST和$ _COOKIE的内容。
不要忘记,因为$ _REQUEST是一个与$ _GET和$ _POST不同的变量,它在PHP中也是如此 - 在运行时修改$ _GET或$ _POST元素不会影响$ _REQUEST中的元素,也不会反之亦然。
e.g:
<?php
$_GET['foo'] = 'a';
$_POST['bar'] = 'b';
var_dump($_GET); // Element 'foo' is string(1) "a"
var_dump($_POST); // Element 'bar' is string(1) "b"
var_dump($_REQUEST); // Does not contain elements 'foo' or 'bar'
?>
答案 2 :(得分:0)
你可以尝试一下。
<?php
if(isset($_POST['name']))
{
$name = $_POST['name'];
echo "Welcome ". $name;
}
?>
答案 3 :(得分:0)
尝试
?php
if(isset($_POST['name']))
{
$name = $_POST['name'];
echo "Welcome $name";
}
else
{
echo "Name not set";
}
?>
答案 4 :(得分:0)
试试这个:
<?php
// let us make sure we have a post value. we will use isset to make sure it's set.
if (isset($_POST['name'])) {
// you should scrub the $name value before displaying. Never display or work with
// raw post values.
$name = $_POST['name'];
echo "Welcome ";
// what if they didn't really put in a name?
// maybe only show it if it's longer than 2?
if (strlen($str) > '2')
echo $name;
}
}
else {
// we don't have a post value? You should redirect with error message or something.
}
?>