我需要从我的网站上的表单中保存电子邮件,但出于某种原因我无法保存它
I need to save emails from a form on my website, and for some reason I can't get it to save
我不确定这里出了什么问题。几个小时以来,我一直试图将电子邮件保存到我的 MySQL 数据库中的单个列 table,但无法弄清楚。
Html:
<div class="row">
<div class="col-md-12">
<div class="call-to-action text-center">
<form class="form-inline margin-clear">
<div class="form-group has-feedback">
<label class="sr-only" for="subscribe3">Email address</label>
<input type="email" class="form-control form-control-lg" id="subscribe3" placeholder="Enter email" name="subscribe3" required="">
<i class="fa fa-envelope form-control-feedback"></i>
</div>
<button type="submit" class="btn btn-lg btn-gray-transparent btn-animated margin-clear">Subscribe <i class="fa fa-send"></i></button>
</form>
</div>
</div>
</div>
PHP:
<?php
//checking if data has been entered
if( isset( $_POST['subscribe3'] ) && !empty( $_POST['subscribe3'] ) )
{
$data = $_POST['subscribe3'];
} else {
header( 'location: index.html' );
exit();
}
//setting up mysql details
$sql_server = 'localhost';
$sql_user = 'root';
$sql_pwd = '*password*';
$sql_db = 'newsletter';
//connecting to sql database
$mysqli = new mysqli( $sql_server, $sql_user, $sql_pwd, $sql_db ) or die( $mysqli->error );
//inserting details into table
$insert = $mysqli->query( "INSERT INTO email ( `Emails` ) VALUES ( '$data' )" );
//closing mysqli connection
$mysqli->close;
?>
最后的问题是它以白页结尾。如何重定向回 default/home 页面?
您可以尝试将提交按钮更改为提交类型的输入。这样你就可以改变 php 因为我相信你当前的代码自相矛盾
PHP 应该看起来像这样
if (isset($_POST['submit']))
{
if (!empty ($_POST['subscribe3'])
{
$data = trim ($_POST['subscribe3']);
} else
{
header ('location: index.html');
exit();
}
}
重申这一点只有在您将提交按钮从按钮更改为输入时才有效
希望对您有所帮助
将您的查询更改为:
$insert = $mysqli->query( "INSERT INTO email ( `Emails` ) VALUE ( '$data' )" );
至:
$insert = $mysqli->query( "INSERT INTO email ( `Emails` ) VALUES ( '$data' )" );
我知道 MYSQL Docs 显示 {VALUES | VALUE}
,但根据我的经验,它从未奏效并且 none 的示例包含“VALUE
”。所以一个安全的赌注是那是你的错误。
我不确定这里出了什么问题。几个小时以来,我一直试图将电子邮件保存到我的 MySQL 数据库中的单个列 table,但无法弄清楚。
Html:
<div class="row">
<div class="col-md-12">
<div class="call-to-action text-center">
<form class="form-inline margin-clear">
<div class="form-group has-feedback">
<label class="sr-only" for="subscribe3">Email address</label>
<input type="email" class="form-control form-control-lg" id="subscribe3" placeholder="Enter email" name="subscribe3" required="">
<i class="fa fa-envelope form-control-feedback"></i>
</div>
<button type="submit" class="btn btn-lg btn-gray-transparent btn-animated margin-clear">Subscribe <i class="fa fa-send"></i></button>
</form>
</div>
</div>
</div>
PHP:
<?php
//checking if data has been entered
if( isset( $_POST['subscribe3'] ) && !empty( $_POST['subscribe3'] ) )
{
$data = $_POST['subscribe3'];
} else {
header( 'location: index.html' );
exit();
}
//setting up mysql details
$sql_server = 'localhost';
$sql_user = 'root';
$sql_pwd = '*password*';
$sql_db = 'newsletter';
//connecting to sql database
$mysqli = new mysqli( $sql_server, $sql_user, $sql_pwd, $sql_db ) or die( $mysqli->error );
//inserting details into table
$insert = $mysqli->query( "INSERT INTO email ( `Emails` ) VALUES ( '$data' )" );
//closing mysqli connection
$mysqli->close;
?>
最后的问题是它以白页结尾。如何重定向回 default/home 页面?
您可以尝试将提交按钮更改为提交类型的输入。这样你就可以改变 php 因为我相信你当前的代码自相矛盾
PHP 应该看起来像这样
if (isset($_POST['submit']))
{
if (!empty ($_POST['subscribe3'])
{
$data = trim ($_POST['subscribe3']);
} else
{
header ('location: index.html');
exit();
}
}
重申这一点只有在您将提交按钮从按钮更改为输入时才有效
希望对您有所帮助
将您的查询更改为:
$insert = $mysqli->query( "INSERT INTO email ( `Emails` ) VALUE ( '$data' )" );
至:
$insert = $mysqli->query( "INSERT INTO email ( `Emails` ) VALUES ( '$data' )" );
我知道 MYSQL Docs 显示 {VALUES | VALUE}
,但根据我的经验,它从未奏效并且 none 的示例包含“VALUE
”。所以一个安全的赌注是那是你的错误。