我为5K运行制作了一个表格,用户输入有关他/她的基本信息(名字,姓氏,电子邮件,组织,他们是否参加活动,以及在查看弃权表后查看复选框。< / p>
我在最后放了一个提交按钮。我无法将表单连接到数据库。我已经尝试连接并在mySql中创建了一个名为“basicInfo”的表我是编码的新手,所以我很感激所有可以得到的帮助,我坚持下去。
这是我目前的代码
index.php(已编辑)
<?php
// Event name
$event = "2013 VIA-1 5K Run Fundraiser";
// Orgs See table organisations
// $orgs = array('', 'Northeastern Illinois','Illinois Institute of Technology', 'Loyola', 'Oberlin', 'Northwestern', 'Purdue', 'IVSU', 'UW-Madison', 'UIllinois','Iowa State University', 'Michigan-Ann Arbor','Marquette University', 'Michigan State', 'UIC', 'Notre Dame', 'VSAM', 'Ohio State', 'UCincinnati', 'Northern Illinois', 'Indiana-Bloomington', 'University of Iowa', 'St. Cloud');
// asort($orgs);
// Registration fees for attendees and non-attendees
$fee_attendee = 10;
$fee_nonAttendee = 15;
$paypal_email = 'payment@example.com ';
// Registration closing date (will go until 11:59 PM Central Standard Time of this day)
$close_month = 03;
$close_day = 08;
$close_year = 2013;
// $time = time(); Easier to use the build in now function of MySQL.
function clean($in)
{
$out = trim(strip_tags($in));
$out = addslashes($out);
return $out;
}
function listform(){
$host = "local";
$user = "user";
$password = "password";
$database = "database";
// open connection to databse
$link = mysqli_connect($host, $user, $password, $database);
IF (!$link){
echo ("Unable to connect to database!");
}
ELSE {
//Get organisations from table organisations
$query = "SELECT * FROM organisations ORDER BY name ASC";
$result = mysqli_query($link, $query);
while($row = mysqli_fetch_array($result, MYSQLI_BOTH)){
echo "<option value=".$row['id_organisations'].">".$row['name']."</option>\n";
}
}
mysqli_close($link);
}
//Check if variables are post if so filter the input if not initiating variables for form
IF (isset($_POST['firstname'])){
$firstname = filter_var($_POST['firstname'], FILTER_SANITIZE_STRING);
}
ELSE {
$firstname = "";
}
IF (isset($_POST['lastname'])){
$lastname = filter_var($_POST['lastname'],FILTER_SANITIZE_STRING);
}
ELSE {
$lastname = "";
}
IF (isset($_POST['org'])){
$org = $_POST['org'];
}
ELSE {
$org = "";
}
IF (isset($_POST['email'])){
$email = filter_var(filter_var($_POST['email'],FILTER_SANITIZE_EMAIL),FILTER_VALIDATE_EMAIL);
}
ELSE {
$email = "";
}
IF (isset($_POST['attendant'])){
$attendant = filter_var(filter_var($_POST['attendant'],FILTER_SANITIZE_STRING));
}
ELSE {
$attendant = "";
}
IF (isset($_POST['waiver'])){
$waiver = filter_var(filter_var($_POST['waiver'],FILTER_SANITIZE_STRING));
}
ELSE {
$waiver = "";
}
function submit_form(){
$host = "host";
$user = "user";
$password = "password";
$database = "database";
$firstname = filter_var($_POST['firstname'], FILTER_SANITIZE_STRING);
$lastname = filter_var($_POST['lastname'], FILTER_SANITIZE_STRING);
$org = $_POST['org'];
$email = filter_var(filter_var($_POST['email'],FILTER_SANITIZE_EMAIL),FILTER_VALIDATE_EMAIL);
$attendant = $_POST['attendant'];
// open connection to database
$link = mysqli_connect($host,$user, $password, $database);
IF (!$link){
echo ("Unable to connect to database!");
}
ELSE {
//INSERT VALUES INTO DATABASE
$query = "INSERT INTO basicinfo (firstname,lastname,email,attendant,org,time) VALUES('".$firstname."', '".$lastname."', '".$email."', ".$attendant.", ".$org.", NOW())";
return mysqli_query($link,$query);
}
//close connection to database
mysqli_close($link);
}
//Warning messages initiation
$warning_firstname = "*Required";
$warning_lastname = "*Required";
$warning_org = "*Required";
$warning_email = "*Required";
$warning_attendant = "*Required";
$warning_waiver = "*Required";
$formfirstpart = <<<EODformfirspart
<HTML>
<head><title>Form 5K RUN </title></head>
<body style="background-color:gold">
<tbody>
<p>We're excited to introduce the 5K Run to VIA-1! During this year's conference, Individuals can register to participate in the fun across University of Iowa's campus in order to raise money for this year's CPP</p>
<div class='row'>
<form action="{$_SERVER['PHP_SELF']}" method="POST" name="registration">
<div class='column grid_5'>
<label for='first'>First Name:</label><br />
<input type="text" name="firstname" id="first" maxlength="25" tabindex='1' VALUE="$firstname"><span class="warning">$warning_firstname</span><br><br>
<label for='first'>Last Name:</label><br />
<input type="text" name="lastname" id='lastname' maxlength="25" tabindex='1' VALUE="$lastname" /><span class="warning">$warning_lastname</span><br /><br />
<label for='email'>E-mail:</label><br />
<input type="text" name="email" id='email' maxlength="100" tabindex='3' VALUE="$email" /><span class="warning">$warning_email</span><br /><br />
<label for="org">Organization:</label><br />
<select id="org" name="org" tabindex="5" form="registration">
EODformfirspart;
$formlastpart = <<<EODlastpart
</SELECT>
<span class="warning">$warning_org</span><br /><br />
<label for='attendant'>Are you attending VIA-1?</label><br />
<input type='radio' class='radio' name='attendant' id='attendant-yes' value='1' /> <label for='attendant-yes'>Yes</label><br />
<input type='radio' class='radio' name='attendant' id='attendant-no' value='0' /> <label for='attendant-no'>No </label>$warning_attendant<br /><br />
<input type='checkbox' class='radio' name='waiver' id='waiver' value=1 /> <label for='waiver'>I understand and agree to the terms of <a href='waiver.php' target="_blank">the waiver</a>.$warning_waiver</label>
</div>
</div>
<br></br>
<div class='column grid_10 right'>
<input type="submit" class='button' name="submit" value="submit" tabindex='7' /></form>
</div>
</tbody>
</div>
</div>
</body>
</html>
EODlastpart;
IF(!IsSet($_POST['submit'])){ // Check if form is not send, if not display empty form.
echo $formfirstpart;
echo listform();
echo $formlastpart;
}
ELSEIF (IsSet($_POST['submit']) AND (isset($firstname) OR isset($lastname) OR isset($email) OR isset($org) OR isset($attendant))) {
$warning_counter = 0;
if ($firstname == "") {
$warning_firstname = 'Please provide your first name and / or a valid name';
$warning_counter = + 1 ;
}
if ($firstname == "") {
$warning_lastname = 'Please provide your last name and / or a valid name';
$warning_counter = + 1;
}
if ($email == "") {
$warning_email = 'Please provide your email adress and / or a valid email adress';
$warning_counter = +1;
}
if ($org == " ") {
$warning_org = 'Please select your organisation';
$warning_counter = +1;
}
if ($waiver == "") {
$warning_waiver = 'You have to accept the waiver agreement the otherwise you cannot attend';
$warning_counter = +1;
}
if ($attendant == "") {
$warning_attendant = 'Do you attend VIA-1?';
$warning_counter =+1;
}
if ($warning_counter>0){
$formfirstpart1 = <<<EODformfirspart1
<HTML>
<head><title>Form 5K RUN </title></head>
<body style="background-color:gold">
<tbody>
<p>We're excited to introduce the 5K Run to VIA-1! During this year's conference, Individuals can register to participate in the fun across University of Iowa's campus in order to raise money for this year's CPP</p>
<div class='row'>
<form action="{$_SERVER['PHP_SELF']}" method="POST" name="registration">
<div class='column grid_5'>
<label for='first'>First Name:</label><br />
<input type="text" name="firstname" id="first" maxlength="25" tabindex='1' VALUE="$firstname"><span class="warning">$warning_firstname</span><br><br>
<label for='first'>Last Name:</label><br />
<input type="text" name="lastname" id='lastname' maxlength="25" tabindex='1' VALUE="$lastname" /><span class="warning">$warning_lastname</span><br /><br />
<label for='email'>E-mail:</label><br />
<input type="text" name="email" id='email' maxlength="100" tabindex='3' VALUE="$email" /><span class="warning">$warning_email</span><br /><br />
<label for="org">Organization:</label><br />
<select id="org" name="org" tabindex="5" form="registration">
EODformfirspart1;
$formlastpart1 = <<<EODlastpart1
</select>
<span class="warning">$warning_org</span><br /><br />
<label for='attendant'>Are you attending VIA-1?</label><br />
<input type='radio' class='radio' name='attendant' id='attendant-yes' value='1' /> <label for='attendant-yes'>Yes</label><br />
<input type='radio' class='radio' name='attendant' id='attendant-no' value='0' /> <label for='attendant-no'>No </label><br />$warning_attendant<br />
<input type='checkbox' class='radio' name='waiver' id='waiver' value=1 /> <label for='waiver'>I understand and agree to the terms of <a href='waiver.php' target="_blank">the waiver</a>.$warning_waiver</label>
</div>
</div>
<br></br>
<div class='column grid_10 right'>
<input type="submit" class='button' name="submit" value="submit" tabindex='7' />
</div>
</form>
</tbody>
</table>
</div>
</div>
</font>
</body>
</html>
EODlastpart1;
echo $formfirstpart1;
echo listform();
echo $formlastpart1;
}
IF ($warning_counter == 0){
submit_form();
header('Location: submitted.php');
}
}
?>
这是针对submitted.php(下一页)
<html>
<head><title>Your form has been submitted</title></head>
<body>
<h1>See you at the 5K Run/walk for Memo.</h1>
<p class="content">Your form has been submitted.</p>
<p class="content">Click <a href="index.php">here</a> to go back to the main page.</p>
</body>
</html>
答案 0 :(得分:1)
首先,虽然我一般不喜欢这些建议,你是否考虑过使用带有表格前端的谷歌文档?对于非开发人员来说,它们是一种非常简单的方式,可以从人们那里获取数据,并将其输入到电子表格中。
Baring that,我假设您使用的是自动增量主键,我建议您将查询更改为:
if(mysql_query("INSERT INTO basicInfo VALUES(null, '{$_POST['first]}', '{$_POST['last']}', '{$_POST['email']}', '{$_POST['attendant']}', '$org', $time, 0, '', 1)"))
{
我已将''更改为null,因为您希望数据库插入它想要的内容。我也改变了你在字符串中包含关联数组的方式,这种方式通常会让PHP更快乐。
用于清理$ _POST数组,如
$expected = array('first', 'last', 'expected', 'attendant');
foreach($expected as $k)
{
$p[$k] = clean($_POST[$k]);
}
//then changing the query to use $p rather than $_POST, clearly.
过去,正如其他人所建议的那样,我强烈建议您使用mysql_real_escape_string()
而不是某种addslashes()组合。
发布SHOW CREATE TABLE basicInfo;
的结果或任何错误都有助于解决MySQL问题。
答案 1 :(得分:0)
基本上有两种方法可以使用表单将数据发送到数据库。第一种方法是让人们填写表格并将数据发送到下一页。您可以添加Java脚本以检查填写的数据是否符合您的要求并进行中介响应。例如。已填写所有必填字段。下一页将进行数据处理并将数据发送到MySQL服务器。您可以使用的表单方法是POST / GET。第二种方法是在一个页面上显示表单,并在同一页面上进行数据的预览(PHP_SELF或在表单操作中引用相同的页面)。第二种方法要求代码非常结构化。如果您需要检查数据是否已提交。接下来,您需要验证是否有效。如果表单已提交且输入有效,则数据将提交到数据库,并且访问者会显示“感谢您提交表单。”我们会尽快与您联系。如果表单已提交且数据无效,则访问者应保持在同一页面上,并收到错误消息,例如“需要填写以下字段:......”,并且应显示表单。如果表单未提交(第一次访问时),访问者应该显示表单。
最简单的设置方法是第一种方法,第二种方法是我认为最好的,但我建议你从第一种方法开始。第一种方法工作后,您可以添加Javascript和/或将其更改为方法二。
试试这个:
<?php
// Event name
$event = "2013 VIA-1 5K Run Fundraiser";
// Orgs See table organisations
// $orgs = array('', 'Northeastern Illinois','Illinois Institute of Technology', 'Loyola', 'Oberlin', 'Northwestern', 'Purdue', 'IVSU', 'UW-Madison', 'UIllinois','Iowa State University', 'Michigan-Ann Arbor','Marquette University', 'Michigan State', 'UIC', 'Notre Dame', 'VSAM', 'Ohio State', 'UCincinnati', 'Northern Illinois', 'Indiana-Bloomington', 'University of Iowa', 'St. Cloud');
// asort($orgs);
// Registration fees for attendees and non-attendees
$fee_attendee = 10;
$fee_nonAttendee = 15;
$paypal_email = 'payment@example.com ';
// Registration closing date (will go until 11:59 PM Central Standard Time of this day)
$close_month = 03;
$close_day = 08;
$close_year = 2013;
// $time = time(); Easier to use the build in now function of MySQL.
function clean($in)
{
$out = trim(strip_tags($in));
$out = addslashes($out);
return $out;
}
function listform(){
$host = "localhost";
$user = "user";
$password = "password";
$database = "database";
// open connection to databse
$link = mysqli_connect($host, $user, $password, $database);
IF (!$link){
echo ("Unable to connect to database!");
}
ELSE {
//Get organisations from table organisations
$query = "SELECT * FROM organisations ORDER BY name ASC";
$result = mysqli_query($link, $query);
while($row = mysqli_fetch_array($result, MYSQLI_BOTH)){
echo "<option value=".$row['id_organisations'].">".$row['name']."</option>\n";
}
}
mysqli_close($link);
}
//Check if variables are post if so filter the input if not initiating variables for form
IF (isset($_POST['firstname'])){
$firstname = filter_var($_POST['firstname'], FILTER_SANITIZE_STRING);
}
ELSE {
$firstname = "";
}
IF (isset($_POST['lastname'])){
$lastname = filter_var($_POST['lastname'],FILTER_SANITIZE_STRING);
}
ELSE {
$lastname = "";
}
IF (isset($_POST['org'])){
$org = $_POST['org'];
}
ELSE {
$org = "";
}
IF (isset($_POST['email'])){
$email = filter_var(filter_var($_POST['email'],FILTER_SANITIZE_EMAIL),FILTER_VALIDATE_EMAIL);
}
ELSE {
$email = "";
}
IF (isset($_POST['attendant'])){
$attendant = filter_var(filter_var($_POST['attendant'],FILTER_SANITIZE_STRING));
}
ELSE {
$attendant = "";
}
IF (isset($_POST['waiver'])){
$waiver = filter_var(filter_var($_POST['waiver'],FILTER_SANITIZE_STRING));
}
ELSE {
$waiver = "";
}
function submit_form(){
$host = "localhost";
$user = "user";
$password = "password";
$database = "database";
$firstname = filter_var($_POST['firstname'], FILTER_SANITIZE_STRING);
$lastname = filter_var($_POST['lastname'], FILTER_SANITIZE_STRING);
$org = $_POST['org'];
$email = filter_var(filter_var($_POST['email'],FILTER_SANITIZE_EMAIL),FILTER_VALIDATE_EMAIL);
$attendant = $_POST['attendant'];
// open connection to database
$link = mysqli_connect($host, $user, $password, $database);
IF (!$link){
echo ("Unable to connect to database!");
}
ELSE {
//INSERT VALUES INTO DATABASE
$query = "INSERT INTO basicInfo (firstname,lastname,email,attendant,org,time) VALUES('".$firstname."', '".$lastname."', '".$email."', ".$attendant.", ".$org.", NOW())";
return mysqli_query($link,$query);
}
//close connection to database
mysqli_close($link);
}
//Warning messages initiation
$warning_firstname = "*Required";
$warning_lastname = "*Required";
$warning_org = "*Required";
$warning_email = "*Required";
$warning_attendant = "*Required";
$warning_waiver = "*Required";
$formfirstpart = <<<EODformfirspart
<HTML>
<head><title>Form 5K RUN </title></head>
<body style="background-color:gold">
<tbody>
<p>We're excited to introduce the 5K Run to VIA-1! During this year's conference, Individuals can register to participate in the fun across University of Iowa's campus in order to raise money for this year's CPP</p>
<div class='row'>
<form action="{$_SERVER['PHP_SELF']}" method="POST" name="registration">
<div class='column grid_5'>
<label for='first'>First Name:</label><br />
<input type="text" name="firstname" id="first" maxlength="25" tabindex='1' VALUE="$firstname"><span class="warning">$warning_firstname</span><br><br>
<label for='first'>Last Name:</label><br />
<input type="text" name="lastname" id='lastname' maxlength="25" tabindex='1' VALUE="$lastname" /><span class="warning">$warning_lastname</span><br /><br />
<label for='email'>E-mail:</label><br />
<input type="text" name="email" id='email' maxlength="100" tabindex='3' VALUE="$email" /><span class="warning">$warning_email</span><br /><br />
<label for='org'>Organization:</label><br />
<SELECT id="org" name="org">
EODformfirspart;
$formlastpart = <<<EODlastpart
</SELECT>
<span class="warning">$warning_org</span><br /><br />
<label for='attendant'>Are you attending VIA-1?</label><br />
<input type='radio' class='radio' name='attendant' id='attendant-yes' value='1' /> <label for='attendant-yes'>Yes</label><br />
<input type='radio' class='radio' name='attendant' id='attendant-no' value='0' /> <label for='attendant-no'>No </label>$warning_attendant<br /><br />
<input type='checkbox' class='radio' name='waiver' id='waiver' value=1 /> <label for='waiver'>I understand and agree to the terms of <a href='waiver.php' target="_blank">the waiver</a>.$warning_waiver</label>
</div>
</div>
<br></br>
<div class='column grid_10 right'>
<input type="submit" class='button' name="submit" value="submit" tabindex='7' /></form>
</div>
</tbody>
</div>
</div>
</body>
</html>
EODlastpart;
IF(!IsSet($_POST['submit'])){ // Check if form is not send, if not display empty form.
echo $formfirstpart;
echo listform();
echo $formlastpart;
}
ELSEIF (IsSet($_POST['submit']) AND (isset($firstname) OR isset($lastname) OR isset($email) OR isset($org) OR isset($attendant))) {
$warning_counter = 0;
if ($firstname == "") {
$warning_firstname = 'Please provide your first name and / or a valid name';
$warning_counter = + 1 ;
}
if ($firstname == "") {
$warning_lastname = 'Please provide your last name and / or a valid name';
$warning_counter = + 1;
}
if ($email == "") {
$warning_email = 'Please provide your email adress and / or a valid email adress';
$warning_counter = +1;
}
if ($org == " ") {
$warning_org = 'Please select your organisation';
$warning_counter = +1;
}
if ($waiver == "") {
$warning_waiver = 'You have to accept the waiver agreement the otherwise you cannot attend';
$warning_counter = +1;
}
if ($attendant == "") {
$warning_attendant = 'Do you attend VIA-1?';
$warning_counter =+1;
}
if ($warning_counter>0){
$formfirstpart1 = <<<EODformfirspart1
<HTML>
<head><title>Form 5K RUN </title></head>
<body style="background-color:gold">
<tbody>
<p>We're excited to introduce the 5K Run to VIA-1! During this year's conference, Individuals can register to participate in the fun across University of Iowa's campus in order to raise money for this year's CPP</p>
<div class='row'>
<form action="{$_SERVER['PHP_SELF']}" method="POST" name="registration">
<div class='column grid_5'>
<label for='first'>First Name:</label><br />
<input type="text" name="firstname" id="first" maxlength="25" tabindex='1' VALUE="$firstname"><span class="warning">$warning_firstname</span><br><br>
<label for='first'>Last Name:</label><br />
<input type="text" name="lastname" id='lastname' maxlength="25" tabindex='1' VALUE="$lastname" /><span class="warning">$warning_lastname</span><br /><br />
<label for='email'>E-mail:</label><br />
<input type="text" name="email" id='email' maxlength="100" tabindex='3' VALUE="$email" /><span class="warning">$warning_email</span><br /><br />
<label for="org">Organization:</label><br />
<select id="org" name="org" tabindex='5' form="registration">
EODformfirspart1;
$formlastpart1 = <<<EODlastpart1
</select>
<span class="warning">$warning_org</span><br /><br />
<label for='attendant'>Are you attending VIA-1?</label><br />
<input type='radio' class='radio' name='attendant' id='attendant-yes' value='1' /> <label for='attendant-yes'>Yes</label><br />
<input type='radio' class='radio' name='attendant' id='attendant-no' value='0' /> <label for='attendant-no'>No </label><br />$warning_attendant<br />
<input type='checkbox' class='radio' name='waiver' id='waiver' value=1 /> <label for='waiver'>I understand and agree to the terms of <a href='waiver.php' target="_blank">the waiver</a>.$warning_waiver</label>
</div>
</div>
<br></br>
<div class='column grid_10 right'>
<input type="submit" class='button' name="submit" value="submit" tabindex='7' />
</div>
</form>
</tbody>
</table>
</div>
</div>
</font>
</body>
</html>
EODlastpart1;
echo $formfirstpart1;
echo listform();
echo $formlastpart1;
}
IF ($warning_counter == 0){
submit_form();
header('Location: submitted.php');
}
}
?>
完成表格后,您将重定向到此页面submitted.php
<html>
<head><title>Your form has been submitted</title></head>
<body>
<h1>See you at the 5K run.</h1>
<p class="content">Your form has been submitted. Good luck with your training workouts</p>
<p class="content">Click <a href="index.php">here</a> to go back to the main page.</p>
</body>
</html>
表格结构:
CREATE TABLE IF NOT EXISTS organisations (
id_organisations int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) DEFAULT NULL,
PRIMARY KEY (id_organisations)
) ENGINE=InnoDB;
CREATE TABLE IF NOT EXISTS basicinfo (
id int(11) NOT NULL AUTO_INCREMENT,
firstname varchar(30) NOT NULL,
lastname varchar(50) NOT NULL,
org int(11) NOT NULL,
email varchar(100) NOT NULL,
attendant int(11) NOT NULL,
`time` datetime NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB;
重要的是要注意这只是一个开始。我没有测试过,所以记住这一点。我不明白你代码的某些部分,所以我不得不做一些猜测工作。
编辑:删除旧数据库并导入结构和数据:
DROP TABLE IF EXISTS basicinfo;
DROP TABLE IF EXISTS organisations;
CREATE TABLE organisations (
id_organisations int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) DEFAULT NULL,
PRIMARY KEY (id_organisations)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
CREATE TABLE basicinfo (
id int(11) NOT NULL AUTO_INCREMENT,
firstname varchar(30) NOT NULL,
lastname varchar(50) NOT NULL,
org int(11) NOT NULL,
email varchar(100) NOT NULL,
attendant int(11) NOT NULL,
`time` datetime NOT NULL,
PRIMARY KEY (id)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
INSERT INTO `organisations` (`id_organisations`, `name`) VALUES
(1, 'Northeastern Illinois'),
(2, 'Illinois Institute of Technology'),
(3, 'Loyola'),
(4, 'Oberlin'),
(5, 'Northwestern'),
(6, 'Purdue'),
(7, 'IVSU'),
(8, 'UW-Madison'),
(9, 'UIllinois'),
(10, 'Iowa State University'),
(11, 'Michigan-Ann Arbor'),
(12, 'Marquette University'),
(13, 'Michigan State'),
(14, 'UIC'),
(15, 'Notre Dame'),
(16, 'VSAM'),
(17, 'Ohio State'),
(18, 'UCincinnati'),
(19, 'Northern Illinois'),
(20, 'Indiana-Bloomington'),
(21, 'University of Iowa'),
(22, 'St. Cloud');
如果您之前已更改过,请将UID更改为PHP代码中的ID。上面的查询将删除您的表(basicinfo),然后重新创建两个新表(basicinfo和组织)。这是如何将它应用于您自己的数据库。将上面的SQL代码复制到phpmyadmin。登录phpmyadmin - &gt;选择你的数据库 - &gt; SQL - &gt;删除默认文本并将上面的代码复制到窗口中 - &gt;运行查询(开始)。
如果只想更改数据库,可以使用此查询:
ALTER TABLE `basicinfo`
CHANGE `uid` `id` INT auto_increment,
CHANGE `firstname` `firstname` varchar(30),
CHANGE `lastname` `lastname` varchar(50),
CHANGE `org` `org` INT,
CHANGE `email` `email` VARCHAR(100),
ADD `time` datetime NOT NULL;
但您仍需要创建和填充组织数据库。
CREATE TABLE organisations (
id_organisations int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) DEFAULT NULL,
PRIMARY KEY (id_organisations)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
INSERT INTO `organisations` (`id_organisations`, `name`) VALUES
(1, 'Northeastern Illinois'),
(2, 'Illinois Institute of Technology'),
(3, 'Loyola'),
(4, 'Oberlin'),
(5, 'Northwestern'),
(6, 'Purdue'),
(7, 'IVSU'),
(8, 'UW-Madison'),
(9, 'UIllinois'),
(10, 'Iowa State University'),
(11, 'Michigan-Ann Arbor'),
(12, 'Marquette University'),
(13, 'Michigan State'),
(14, 'UIC'),
(15, 'Notre Dame'),
(16, 'VSAM'),
(17, 'Ohio State'),
(18, 'UCincinnati'),
(19, 'Northern Illinois'),
(20, 'Indiana-Bloomington'),
(21, 'University of Iowa'),
(22, 'St. Cloud');
最终编辑:
<?php
// Event name
$event = "2013 VIA-1 5K Run Fundraiser";
// Registration fees for attendees and non-attendees
$fee_attendee = 10;
$fee_nonAttendee = 15;
$paypal_email = 'payment@example.com ';
// Registration closing date (will go until 11:59 PM Central Standard Time of this day)
$close_month = 03;
$close_day = 08;
$close_year = 2013;
// $time = time(); Easier to use the build in now function of MySQL.
function clean($in)
{
$out = trim(strip_tags($in));
$out = addslashes($out);
return $out;
}
function listform(){
$host = "host";
$user = "username";
$password = "password";
$database = "databasename";
// open connection to databse
$link = mysqli_connect($host, $user, $password, $database);
IF (!$link){
echo ("Unable to connect to database!");
}
ELSE {
//Get organisations from table organisations
$query = "SELECT * FROM organisations ORDER BY name ASC";
$result = mysqli_query($link, $query);
while($row = mysqli_fetch_array($result, MYSQLI_BOTH)){
echo "<option value=".$row['id_organisations'].">".$row['name']."</option>\n";
}
}
mysqli_close($link);
}
//Check if variables are post if so filter the input if not initiating variables for form
IF (isset($_POST['firstname'])){
$firstname = filter_var($_POST['firstname'], FILTER_SANITIZE_STRING);
}
ELSE {
$firstname = "";
}
IF (isset($_POST['lastname'])){
$lastname = filter_var($_POST['lastname'],FILTER_SANITIZE_STRING);
}
ELSE {
$lastname = "";
}
IF (isset($_POST['org'])){
$org = $_POST['org'];
}
ELSE {
$org = "";
}
IF (isset($_POST['email'])){
$email = filter_var(filter_var($_POST['email'],FILTER_SANITIZE_EMAIL),FILTER_VALIDATE_EMAIL);
}
ELSE {
$email = "";
}
IF (isset($_POST['attendant'])){
$attendant = filter_var(filter_var($_POST['attendant'],FILTER_SANITIZE_STRING));
}
ELSE {
$attendant = "";
}
IF (isset($_POST['waiver'])){
$waiver = filter_var(filter_var($_POST['waiver'],FILTER_SANITIZE_STRING));
}
ELSE {
$waiver = "";
}
function submit_form(){
$host = "host";
$user = "username";
$password = "password";
$database = "databasename";
$firstname = filter_var($_POST['firstname'], FILTER_SANITIZE_STRING);
$lastname = filter_var($_POST['lastname'], FILTER_SANITIZE_STRING);
$org = $_POST['org'];
$email = filter_var(filter_var($_POST['email'],FILTER_SANITIZE_EMAIL),FILTER_VALIDATE_EMAIL);
$attendant = $_POST['attendant'];
// open connection to database
$link = mysqli_connect($host,$user, $password, $database);
IF (!$link){
echo ("Unable to connect to database!");
}
ELSE {
//INSERT VALUES INTO DATABASE
$query = "INSERT INTO basicinfo (firstname,lastname,email,attendant,org,time) VALUES('".$firstname."', '".$lastname."', '".$email."', ".$attendant.", ".$org.", NOW())";
return mysqli_query($link,$query);
}
//close connection to database
mysqli_close($link);
}
//Warning messages initiation
$warning_firstname = "*Required";
$warning_lastname = "*Required";
$warning_org = "*Required";
$warning_email = "*Required";
$warning_attendant = "*Required";
$warning_waiver = "*Required";
$formfirstpart = <<<EODformfirspart
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Form 5K RUN </title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<link href="style.css" type="text/css" rel="stylesheet" media="screen"/>
</head>
<body style="background-color:gold">
<div>We're excited to introduce the 5K Run to VIA-1! During this year's conference, Individuals can register to participate in the fun across University of Iowa's campus in order to raise money for this year's CPP</div>
<div class="row">
<form action="{$_SERVER['PHP_SELF']}" method="POST" name="registration">
<div class="column grid_5">
<label for='first'>First Name:</label></br>
<input type="text" name="firstname" id="first" maxlength="25" tabindex='1' VALUE="$firstname" /><span class="warning">$warning_firstname</span></br></br>
<label for='first'>Last Name:</label></br>
<input type="text" name="lastname" id='lastname' maxlength="25" tabindex='1' VALUE="$lastname" /><span class="warning">$warning_lastname</span></br></br>
<label for='email'>E-mail:</label></br>
<input type="text" name="email" id='email' maxlength="100" tabindex='3' VALUE="$email" /><span class="warning">$warning_email</span></br></br>
<label for="org">Organization:</label><br />
<select id="org" name="org" tabindex="5">
EODformfirspart;
$formlastpart = <<<EODlastpart
</select>
<span class="warning">$warning_org</span><br /><br />
<label for='attendant'>Are you attending VIA-1?</label><br />
<input type='radio' class='radio' name='attendant' id='attendant-yes' value='1' /> <label for='attendant-yes'>Yes</label><br />
<input type='radio' class='radio' name='attendant' id='attendant-no' value='0' /> <label for='attendant-no'>No </label><br />$warning_attendant<br />
<input type='checkbox' class="radio" name="waiver" id="waiver" value="1" /> <label for='waiver'>I understand and agree to the terms of <a href='waiver.php' target="_blank">the waiver</a>.$warning_waiver</label>
</div>
<div class='column grid_10 right'>
<input type="submit" class='button' name="submit" value="submit" tabindex='7' />
</form>
</div>
</body>
</html>
EODlastpart;
IF(!IsSet($_POST['submit'])){ // Check if form is not send, if not display empty form.
echo $formfirstpart;
echo listform();
echo $formlastpart;
}
ELSEIF (IsSet($_POST['submit']) AND (isset($firstname) OR isset($lastname) OR isset($email) OR isset($org) OR isset($attendant))) {
$warning_counter = 0;
if ($firstname == "") {
$warning_firstname = 'Please provide your first name and / or a valid name';
$warning_counter = + 1 ;
}
if ($firstname == "") {
$warning_lastname = 'Please provide your last name and / or a valid name';
$warning_counter = + 1;
}
if ($email == "") {
$warning_email = 'Please provide your email adress and / or a valid email adress';
$warning_counter = +1;
}
if ($org == " ") {
$warning_org = 'Please select your organisation';
$warning_counter = +1;
}
if ($waiver == "") {
$warning_waiver = 'You have to accept the waiver agreement the otherwise you cannot attend';
$warning_counter = +1;
}
if ($attendant == "") {
$warning_attendant = 'Do you attend VIA-1?';
$warning_counter =+1;
}
if ($warning_counter>0){
$formfirstpart1 = <<<EODformfirspart1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Form 5K RUN </title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<link href="style.css" type="text/css" rel="stylesheet" media="screen"/>
</head>
<body style="background-color:gold">
<div>We're excited to introduce the 5K Run to VIA-1! During this year's conference, Individuals can register to participate in the fun across University of Iowa's campus in order to raise money for this year's CPP</div>
<div class="row">
<form action="{$_SERVER['PHP_SELF']}" method="POST" name="registration">
<div class="column grid_5">
<label for='first'>First Name:</label></br>
<input type="text" name="firstname" id="first" maxlength="25" tabindex='1' VALUE="$firstname" /><span class="warning">$warning_firstname</span></br></br>
<label for='first'>Last Name:</label></br>
<input type="text" name="lastname" id='lastname' maxlength="25" tabindex='1' VALUE="$lastname" /><span class="warning">$warning_lastname</span></br></br>
<label for='email'>E-mail:</label></br>
<input type="text" name="email" id='email' maxlength="100" tabindex='3' VALUE="$email" /><span class="warning">$warning_email</span></br></br>
<label for="org">Organization:</label><br />
<select id="org" name="org" tabindex="5">
EODformfirspart1;
$formlastpart1 = <<<EODlastpart1
</select>
<span class="warning">$warning_org</span><br /><br />
<label for='attendant'>Are you attending VIA-1?</label><br />
<input type='radio' class='radio' name='attendant' id='attendant-yes' value='1' /> <label for='attendant-yes'>Yes</label><br />
<input type='radio' class='radio' name='attendant' id='attendant-no' value='0' /> <label for='attendant-no'>No </label><br />$warning_attendant<br />
<input type='checkbox' class="radio" name="waiver" id="waiver" value="1" /> <label for='waiver'>I understand and agree to the terms of <a href='waiver.php' target="_blank">the waiver</a>.$warning_waiver</label>
</div>
<div class='column grid_10 right'>
<input type="submit" class='button' name="submit" value="submit" tabindex='7' />
</form>
</div>
</body>
</html>
EODlastpart1;
echo $formfirstpart1;
echo listform();
echo $formlastpart1;
}
IF ($warning_counter == 0){
submit_form();
header('Location: submitted.php');
}
}
?>