- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我为 5K 运行制作了一个表格,用户在其中输入有关他/她的基本信息(名字、姓氏、电子邮件、组织、他们是否参加事件,并在查看豁免表格后选中复选框。
我在最后放置了一个提交按钮。我在将表单连接到数据库时遇到问题。我已经尝试连接并在 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');
}
}
?>
这是提交的.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>
最佳答案
首先,虽然我通常讨厌这些建议,但您是否考虑过使用带有表单前端的 google doc?对于非开发人员来说,它们是从人们那里获取数据并将其保存在电子表格中的一种 super 简单的方法。
除此之外,我假设您使用的是自动增量主键,我建议您将查询更改为:
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 问题。
关于php - 表单未保存到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14595474/
我在 mongodb 中的玩家和锦标赛之间存在多对多关系。 我希望能够一次将许多玩家添加到锦标赛中。如果没有 ajax,这很简单,但我们有一个包含数千名玩家的数据库,因此表单选择变得巨大。 我们想为此
这个问题已经有答案了: When should I use html's and when spring's in Spring MVC web app? (3 个回答) 已关闭 6 年前。 我正
我正在 C++ Builder XE4 上使用 VCL。 我有以下组件。 FormMain 具有 TButton *B_select; FormSelect(或DialogSelect)具有 TCom
如何在不影响表单控件的情况下更改表单的 alphablend? 德尔福XE7 最佳答案 此问题的一个解决方案是使用多设备应用程序(如果无法使用VCL)。 如果您需要保留透明的TForm,只需更改属性T
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
我正在尝试扩展 Django 注册以包含我自己的注册表单。原则上这是相当简单的。我只需要编写自己的表单( CustomRegistrationForm ),它是原始表单( RegistrationFo
我正在尝试为我的网站实现聊天功能。为了做到这一点,我遵循了以下教程:https://channels.readthedocs.io/en/latest/tutorial/ 然后我稍微更改了代码以实现它
有一个问题,我需要用一个 html 表单提交两个相互关联的模型表单。我知道如何提交两个单独的表格,但是在相关模型表格的情况下外键让我发疯。 问题是,第二个表单应该用外键填充字段到第一个表单的实例。 在
我正在创建一个工具,允许某人输入食谱,然后将其保存为 XML 文件,我已经创建了 XSD,但我想知道如何在我的网页上制作一个表单以允许用户输入他们的食谱并遵守模式。我一直在研究 Ajax 和 Jque
在 .net win 表单(如 asp.net web 表单)中是否有可用的验证控件? 因为很难为我的每个控件设置正确的条件,所以我的表单中也有很多重复的代码。 正确的做法是什么? 最佳答案 看看这个
我有一个简短的问题。我正在学习如何使用 javascript 制作注册表,发现此链接非常有用。 http://www.w3resource.com/javascript/form/javascript
我正在开发一个项目,该项目将使用循环将许多表单添加到 mysql 数据库中。在 javascript 部分中,我无法让 var i 在函数 updatesum() 中工作。有人可以帮我吗? 我试图避免
在我的应用程序上有一个包含 2 个字段和一个保存按钮的表单。 在我的 onClick 结束时我需要什么来将光标返回到第一个字段。 我有这个来清除它们 txtData.setText("
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
<input type="text" name="textfield" onKeyPress="javascript:alert(event.
我正在构建的网站有一个登录表单,作为所有其他模板扩展的 base.html 模板的一部分;因此,我需要以某种方式处理每个页面上的登录/注销逻辑。 目前每个页面都在单独的 View 中加载,那么实现它的
我有一个表单类,看起来像.. #forms.py class ExampleForm(forms.Form): color = forms.CharField(max_length=25)
有没有办法在表单定义中给表单一个特殊的错误渲染函数?在 customizing-the-error-list-format 下的文档中它展示了如何为表单提供特殊的错误呈现函数,但似乎您必须在实例化表单
我正在处理由多个页面组成的表单,我想解决验证问题。 当我点击提交按钮时,当前页面上的所有字段都会在下方显示错误消息,但是如果我更改页面,那么我需要再次点击提交,因为这些字段未设置为已触摸。 如果我可以
是否可以附加到继承表单的 exclude 或 widgets 变量? 到目前为止,我有以下设置。 class AddPropertyForm(forms.ModelForm): num_mon
我是一名优秀的程序员,十分优秀!