我试图在文本字段中输入用户名,然后单击submit,然后将我连接到我的数据库。( A)下面的代码有什么问题:
<!DOCTYPE HTML>
<html>
<head>
<style>
.error {color: #FF0000;}
</style>
</head>
<body>
<?php
// define variables and set to empty values
$nameErr = $emailErr = "";
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
if (empty($_POST["login"]))
{
$nameErr = "login is required";
}
else
{
$login = test_input($_POST["login"]);
// check if login only contains letters and whitespace
if (!preg_match("/^[a-zA-Z ]*$/",$login))
{
$nameErr = "Only letters and white space allowed";
}
}
}
function test_input($data)
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
<h2>Edge User Login</h2>
<p><span class="error">* required field.</span></p>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Login: <input type="text" name="name">
<span class="error">* <?php echo $nameErr;?></span>
<br><br>
<br><br>
<input type="submit" name="submit" value="Submit">
</form>
<?php
$mysqli_connection = new MySQLi('localhost', $login, 'secret', 'edgeserver');
if ($mysqli_connection->connect_error)
{
echo "Not connected, error: " . $mysqli_connection->connect_error;
}
?>( B)我不希望用户每次运行PHP命令时都必须输入用户名。是否有一种使用母版表的方法可供参考?
发布于 2015-06-03 08:17:12
A.)您可能不希望用户通过服务器连接到MySql
这些应该是您从MySql登录的详细信息,通常您是在MySql中创建一个用户(可能是phpmyadmin?)并在这里填写详细信息:
$mysqli_connection = new MySQLi('localhost', $login, 'secret', 'edgeserver');然后,从您创建的容纳用户的表中进行选择。
B.)您可以在会话中存储用户名,但这变得越来越复杂,我建议您让它在您只需先登录的地方工作。
也许这 (我刚在谷歌上搜索过)可能对你有帮助。
https://stackoverflow.com/questions/30614189
复制相似问题