在进行测试以查看我的数据库是否会通过表单字段接收用户名时,除非我回显出错信息,否则代码将不起作用。为什么是这样?我的目标是通过表单字段发送用户名,并在表单字段下的同一页上检索用户名列表。
我提交的用户名HTML,
PHP不提交没有echo语句的表单数据?
<section id="banner">
<div class="content">
<header>
<h2>Add Usernames Here</h2>
<form method="post">
<br><input type="text" name="user_name"><br>
<input type="submit" value="Submit">
</form>
</header>
</div>
用于显示用户名:
<section id="five" class="wrapper style2 special fade">
<div class="container">
<header>
<h2>Added Usernames</h2>
<?php require 'post.php'; ?>
</header>
</div>
</section>
而且我post.php中的代码
<?php
//connection
$url = parse_url(getenv("CLEARDB_DATABASE_URL"));
$server = $url["host"];
$username = $url["user"];
$password = $url["pass"];
$db = substr($url["path"], 1);
$conn = new mysqli($server, $username, $password, $db);
//test connection
if(!$conn)
{
echo 'not connected';
}
if(!mysqli_select_db($conn,'heroku_cd6b3866e127c21'))
{
echo 'database not selected';
}
//insert username
$user_name = $_POST['user_name'];
$sql = "INSERT INTO store (user_name) VALUES ('$user_name')";
//test query
if(!mysqli_query($conn,$sql))
{
echo 'not inserted';
}
else {
echo 'inserted';
}
//echo all usernames
mysqli_select_db($db,$conn);
$sql2 = "SELECT * FROM store";
$mydata = mysqli_query('$sql2,$conn');
while($record = mysqli_fetch_array($mydata)){
echo "<br>";
echo $record['user_name'];
}
?>
此代码的工作,直到我的if语句删除,检查连接。
我使用的需要,我仍然需要在表单字段中使用action =''?此外,用户名无需操作即可发送到数据库,但在删除我的if语句后不会发送。 – Pacified
是的。只要点击提交按钮,就有页面调用什么可以做我们想做的事情。 – b2ok
我不想被重定向到一个空白页面,我只是希望页面重新加载,并且用户名出现在列表中 – Pacified