[英]Form only works sometimes (PHP mySQL)
i googled quite alot and can't really find an anwer to my problem. 我在Google上搜索了很多,却找不到真正解决我问题的答案。 i created a form to submit some information on my website.
我创建了一个表单以在我的网站上提交一些信息。 the problem is it only works sometimes and i have no idea why.
问题是它有时只能工作,我不知道为什么。 your help would be really appericated, im going crazy here.
您的帮助将非常贴切,我在这里疯了。
PHP 的PHP
<?php
require_once("php/verbindung.php");
$partyskill = "";
$partyskill2 = "";
$partylang = "";
$partycount = "";
$drop = "";
$error_count = "";
$error_lang = "";
$freigabe = true;
if (isset($_POST['submit'])) {
$partyskill = "$_POST[skill]";
$partyskill2 = "$_POST[skill2]";
$partylang = "$_POST[language]";
$partycount = "$_POST[count]";
if (strlen($partycount) == 0) {
$error_count = "<FONT COLOR='#d1a200'>*please select how many players you are looking for</font>";
$freigabe = false;
}
if (strlen($partylang) == 1) {
if($partylang=="1")
{$drop="gb.png";}
elseif($partylang== "2")
{$drop="de.png";}
elseif($partylang== "3")
{$drop="ru.png";}
else {
$error_lang = "<FONT COLOR='#d1a200'>*please select a language</font>";
$freigabe = false;
}
}
else {
$error_lang = "<FONT COLOR='#d1a200'>*please select a language</font>";
$freigabe = false;
}
if ($freigabe == true) {
$sql = "INSERT INTO ".$tblparty;
$sql .= " (skill, skill2, count, language)
VALUES (";
$sql .= "'".$partyskill."', ";
$sql .= "'".$partyskill2."', ";
$sql .= "'".$partycount."', ";
$sql .= "'".$drop."') ";
$query = mysql_query($sql, $verb);
}
}
?> ?>
HTML 的HTML
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="new_party" >
<h3>How many players are you searching for?</h3>
<p>
<input type="radio" name="count" value="1"> 1
<input type="radio" name="count" value="2"> 2
<input type="radio" name="count" value="3"> 3
<input type="radio" name="count" value="4"> 4
</p>
<?php echo $error_count; ?><br/>
<h3>What is you prefered language?</h3>
<p>
<input type="radio" name="language" value="1"><img src="images/flags/gb.png"/>
<input type="radio" name="language" value="2"><img src="images/flags/de.png"/>
<input type="radio" name="language" value="3"><img src="images/flags/ru.png"/>
</p>
<?php echo $error_lang; ?><br/>
<h3>What skill are you looking for?</h3>
from:
<select name="skill">
<option value="15">Eagle Master</option>
<option value="16">Legendary Eagle Master</option>
<option value="17">Supreme Master First Class</option>
<option value="18">Global Elite</option>
</select>
to:
<select name="skill2">
<option value="15">Eagle Master</option>
<option value="16">Legendary Eagle Master</option>
<option value="17">Supreme Master First Class</option>
<option value="18">Global Elite</option>
</select>
<input type="submit" value="Send" name="submit"/>
</form>
Instead of doing: 而不是做:
$sql = "INSERT INTO ".$tblparty;
$sql .= " (skill, skill2, count, language)
VALUES (";
$sql .= "'".$partyskill."', ";
$sql .= "'".$partyskill2."', ";
$sql .= "'".$partycount."', ";
$sql .= "'".$drop."') ";
Change it to: 更改为:
$sql = "INSERT INTO `$tblparty` (`skill`, `skill2`, `count`, `language`)
VALUES ('".$partyskill."', '".$partyskill2."', '".$partycount."', '".$drop."')";
then delete your skill
column and re-create it again. 然后删除您的
skill
列,然后重新创建。 You could also attempt to rebuild your table. 您也可以尝试重建表。
Also, I suggest that you switch to mysqli_*
functions using prepared statements
or PDO , mysql_*
functions are deprecated and will be deleted in future releases. 另外,我建议您使用
prepared statements
或PDO切换到mysqli_*
函数,不建议使用mysql_*
函数,在以后的版本中将删除它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.