我想创建一个比赛。我对PHP不好,但可以看到这可能是唯一的方法。我想使用简单的一个字段表单创建一个脚本,客户输入一个代码,当他们点击提交时,它将查看一个文本文件,任何匹配的结果将返回一个祝贺页面,任何不匹配的将返回一个抱歉你没有赢过这个时间页面。这样做会相当简单吗?
我可以对此进行扩展并在sql数据库中包含13,000个代码的完整列表,并且一旦输入代码就会耗尽该代码,因此如果再次输入则会返回抱歉,此代码已经输入/使用?< / p>
是否有一种简单的方法可以通过电子邮件发送地址,说明已提交的内容?
编辑:
使用下面的答案我已经做到了这一点:
<?php
$hostname = "localhost";
$username = "*****";
$password = "*****";
$code = $_POST[ 'code' ];
if ( $client_code ) {
$db = new PDO( 'mysql:host=$hostname;dbname=*****", $username, $password);
$statement = $db -> prepare( 'SELECT 1 FROM codes WHERE code = ?' );
$statement -> bindParam( 1, $code );
$statement -> execute();
$result = $statement -> fetchAll();
if ( $result ) {
header( 'Location: success.php' ); // Redirects to success page
die();
}
header( 'Location: fail.php' ); // Redirects to fail page
die();
}
else {
header( 'Location: no_code.php' ); // Redirects to no code entered page
die();
}
?>
但是它一直在标记这个错误
解析错误:语法错误,第11行的mysite / mypahe.php中的意外T_STRING
有人可以帮忙吗?
答案 0 :(得分:1)
创建一个名为codes
的db表,如下所示:
+------------+--------+
| promo_code | status |
+------------+--------+
| s72jasdih | 0 |
| asd893kla | 0 |
| Sasd93ja3 | 0 |
+------------+--------+
现在在索引页面中创建一个简单的表单:
<form action="actions.php" method="post">
<input type="text" name="client_code" />
<input type="submit" value="Submit" />
</form>
输入代码并按提交后,用户将被重定向到actions.php
页面并显示以下内容:
<?php
$client_code = $_POST[ 'client_code' ];
if ( $client_code ) {
$db = new PDO( 'mysql:host=' . $db_host . ';dbname=' . $db_name, $db_user_name, $db_password );
$statement = $db -> prepare( 'SELECT 1 FROM codes WHERE promo_code = ?' );
$statement -> bindParam( 1, $clients_code );
$statement -> execute();
$result = $statement -> fetchAll();
if ( $result ) {
header( 'Location: success.php' ); // Redirects to success page
die();
}
header( 'Location: fail.php' ); // Redirects to fail page
die();
}
} else {
header( 'Location: no_code.php' ); // Redirects to no code entered page
die();
}
?>
这是你需要做的一个快速的例子。要使其完全正常工作,请阅读PHP手册并开始工作;)
答案 1 :(得分:0)
这是简单的脚本。这是short tutorial。
在数据库中使用代码会更好。为了选择行并将数据插入数据库表,可以使用MySQLi函数。