回显输出到控制台而不是 HTML

Posted

技术标签:

【中文标题】回显输出到控制台而不是 HTML【英文标题】:Echo outputting to console instead of HTML 【发布时间】:2019-02-26 03:41:41 【问题描述】:

我的问题是这些值已成功插入到我的数据库中,但我的“成功”回声不起作用。有人可以帮忙吗?

$conn =  new mysqli($db_host, $db_username, $db_pass, $db_name);

if ($conn->connect_error) 
die("Connection failed: " . $conn->connect_error);


$pw = $_POST['pw'];
$cpw = $_POST['cpw'];

if($pw !== $cpw) 
die("Passwords do not match");



$stmt = $conn->prepare("INSERT INTO snpdata (Username, Password, Email, 
Gender) VALUES (?, ?, ?, ?)");

if(!$stmt->bind_param("ssss", $sname, $clean_pw, $clean_em, $gen)) 
    die("Error binding parameters");
 else 

$gen = $_POST['gender'];
$sname = $_POST['sname'];
$em = $_POST['em'];

$clean_pw = password_hash($pw, PASSWORD_BCRYPT);
$clean_em = password_hash($em, PASSWORD_BCRYPT);

if(!$stmt->execute()) 
    die ('Error executing' . $stmt->error);
 else  
    echo '<h3 color="green"> SUCCESS </h3>';


$stmt->close();
$conn->close();

我尝试研究如何回显 html,但它产生的结果与我在此代码中输入的结果相同。

编辑:抱歉不清楚,问题是回声根本没有出现在页面上。

这是 AJAX,它工作正常。

<script>
function formSubmit() 
$.ajax(
type:'POST',
url: 'snp.php',
data: $('#fm').serialize(),
success:function(response) 
$('#success').html(response);


);
var form = document.getElementById('fm').reset()
return false;

</script>

这是我的表单代码:

<form id='fm' action="/snp.php" method="post" onsubmit="return formSubmit()">
<div class='snpcontent'>
<h1 style='color: #6e727a; font-weight: 100'> Sign Up Here </h1>
<label style='font-weight: 900'>Username</label>
<input type='text' placeholder='Enter Username' name='sname' required>
<label style='font-weight: 900'>Password</label>
<input type='password' placeholder='Enter Password' name='pw' id="pw" required>
<button onmousedown="document.getElementById('pw').type = 'text' " onmouseup="document.getElementById('pw').type = 'password'" type='button' class="show">Show Password </button>
<label style='font-weight: 900'>Confirm PW</label>
<input type='password' placeholder='Enter Password' name='cpw' id="cpw" required>
<button onmousedown="document.getElementById('cpw').type = 'text' " onmouseup="document.getElementById('cpw').type = 'password'" type='button' class="show">Show Password </button>
<label style='font-weight: 900'> Email </label>
<input type='text' placeholder='Enter Email' name='em' required><br>
<input type='radio' name='gender' value='male' required> Male<br>
<input type='radio' name='gender' value='female' required> Female<br>
<input type='radio' name='gender' value='other' required> Other<br>
<button type='submit' style='background-color: #19ad11; border-color: #19ad11; color: white; font-family: Georgia, verdana; width: 50%; height: 50px; font-size: 20px'> Sign Up </button>
</div>
</form>

【问题讨论】:

不是绿色的吗? 我认为您在成功执行查询后重定向页面对吗? 你是正常提交​​表单还是使用AJAX? “不起作用”是一个不充分的问题描述。 我正在使用 AJAX 在提交表单后停留在同一页面 【参考方案1】:

糟糕,我刚刚解决了我的问题。 我的 AJAX 有一行代码说

$('#success').html(response);

原来在我的

<h3> </h3>

id 是“succes”而不是“success”,这是导致错误的原因。 感谢您的所有帮助!

【讨论】:

以上是关于回显输出到控制台而不是 HTML的主要内容,如果未能解决你的问题,请参考以下文章

在 Jenkins 控制台输出中回显

基础.控制台_刷新当前行内容_而不是输出新行

从 Windows 批处理文件向控制台回显空白(空)行 [重复]

汇编int21h,DOS调用(转)

从字符数组输出到控制台

为啥 termcolor 在 Windows 控制台中输出控制字符而不是彩色文本?