我目前在我的mac中使用mamp。我创建了一个文件名un.php,它有一个简单的表单验证。我想将登录/注册信息插入本地数据库的表中。
我认为 action 关键字形式可能存在一些错误。我在表单操作中尝试了un.php,我也尝试在其中添加localhost的url,但同样的错误500正在显示。 谢谢
答案 0 :(得分:0)
您在代码中犯了很多错误。 图像描述了有错误的地方。 这张图片显示了它们。
错误。 1.如果括号未关闭,则为冷杉。 2.当使用mysqli_select_db($ a,$ b)时,$ a是'连接名称'和$ b是数据库名称' 3.在您的$ c上,发生了许多错误。这些重塑必须纠正它们: 你不应该使用减号( - )。这是关于电子邮件。短划线将被视为减号并将返回错误。 $ _POST [name]不正确。正确的方法是$ _POST [" name"]。 $ _POST [" name"]的问题也会导致问题,因为有很多(")。最好的方法是在变量中定义它并使用它。例如:$ name = $ _POST [" name"]。 4. mysqli_query($ a,$ b)的写法与mysqli_select_db($ a,$ b)相同。 在mysqli_query($ a,$ b)中,$ a是连接名称,$ b是查询。 5. if(isset($ _ POST [" submit"])),对我而言,这意味着什么,因为'提交'是一个按钮,但不是一个字段。 (我不确定,但我尝试过,但它不起作用。)
我只写了代码的重要部分。
我已经为你重写了代码。它适用于我。它是
<html>
<head>
</head>
<body>
<h2> PHP Form validation Example</h2>
<p><span class="error">* required field.</span></p>
<form method="post" action = "<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" >
Name: <input type="text" name="name" />
<br/>
E-mail: <input type="text" name="Email"/>
<br/>
Website: <input type="text" name="website" />
<br/>
Comment: <textarea name="comment" rows ="5" cols="40"></textarea>
<br/>
<input type="submit" value="submit"/>
</form>
<?php
if(isset($_POST["name"])){
$name = $_POST["name"]; $Email = $_POST["Email"]; $_POST["website"]; $_POST["comment"];
$servername = "localhost";
$username = "root"; $password = "password";
$dbase = "test";
$db = mysqli_connect($servername, $username, $password);
if(!$db) echo "Not connected";
else {
$p = mysqli_select_db($db,$dbase);
if(!$p) echo "Problem";
else {
$c = "INSERT INTO Users(name, Email, website, comment) VALUES ('$name', '$Email', '$website', '$comment')";
if(mysqli_query($db, $c));
}
}
mysqli_close($db);
}
?>
</body>
</html>
&#13;