我试图在文本字段中输入用户名并单击“提交”,然后这应该将我连接到我的数据库。 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命令时都必须输入用户名。有没有办法使用可以返回的主表?
答案 0 :(得分:0)
A。)您可能不希望您的用户通过您的服务器连接到MySql
这些应该是您从MySql登录的详细信息,通常是您在MySql中创建一个用户(也许是phpmyadmin?)并填写此处的详细信息:
$mysqli_connection = new MySQLi('localhost', $login, 'secret', 'edgeserver');
然后,您可以从创建的用于保存用户的表中进行选择。
B。)您可以在会话中存储用户名,但这会变得复杂,我建议您在首次登录时使用它。
可能this(我只是用Google搜索)可能对你有所帮助。