Php else语句未按预期工作
好的,我做了以下代码:Php else语句未按预期工作,php,mysql,forms,if-statement,Php,Mysql,Forms,If Statement,好的,我做了以下代码: Acum adaugati note si absente pentru <?php echo $numeleelevuluiales ?>, la materia <?php echo $numelemateriei ?> : <br /> <?php if(!isset($_POST['submit13'])) { ?> Adauga o nota noua: <form
Acum adaugati note si absente pentru <?php echo $numeleelevuluiales ?>, la materia <?php echo $numelemateriei ?> :
<br />
<?php
if(!isset($_POST['submit13']))
{
?>
Adauga o nota noua:
<form method="post" action="" name="form666">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50">Nota:
<select name="note">
<option value="eroare">Alege nota</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
</td>
<td width="50"> Ziua:
<select name="ziua">
<option value="eroare1">Alege ziua</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
</td>
<td width="50">Luna:
<select name="luna">
<option value="eroare2">Alege luna</option>
<?php
$lunile = "SELECT id, luni
FROM luni";
$qlunile = mysql_query($lunile);
while($luniletabel = mysql_fetch_array($qlunile))
{
echo "<option value='".$luniletabel['id']."' name='luna'>" . $luniletabel['luni'] . "</option>";
}
?>
</select>
</td></tr>
</table> <br />
<input type="submit" name="submit13" value=" Adauga " >
</form><br />
<?php
}//sfarsit if
else
{
if(!isset($_POST['submit333']))
{
if($_POST['note'] == 'eroare' || $_POST['ziua'] == 'eroare1' || $_POST['luna'] == 'eroare2' )
{
echo "EROARE!!! Nu ati ales toate campurile <br />";
}
else
{
echo "Ati ales nota " .$_POST['note'].", in ziua " .$_POST['ziua']. ", si luna a " .$_POST['luna']. ".";
?><br />
Daca datele sunt corecte, apasati butonul de mai jos pentru adaugarea in baza de date:
<form method="post" action="" name="form666">
<input type="submit" name="submit333" value=" Adauga in baza de date " >
</form>
<?php
}
}
else // daca a fost apasat submit 333
{
$azi = new DateTime(date("Y-m-d"));
//
$data_adaugare = $azi->format("Y-m-d");
//
// se adauga cele 2 zile
//
$termen = 2; // zile de modificare
//
$azi->add(new DateInterval('P2D'));
//
$data_expirarii = $azi->format("Y-m-d");
$materianote = $_SESSION['materienote'];
$id_note = $_POST['note'];
$data_nota = $_POST['ziua'];
$luna_nota = $_POST['luna'];
echo $id_note;
mysql_query("INSERT INTO note(id_elev, id_materie, id_note, data_nota, luna_nota, data_adaugare, data_expirare)
VALUES ($codul_elevului, $materianote, $id_note, $data_nota, $luna_nota, $data_adaugare, $data_expirarii) ")
or die("Hopa! Ceva nu merge!");
echo "Adaugat cu succes!";
}//sfarsit if isset submit 333
}//sfarsit daca sunt alese toate campurile
}
问题就在这里:else//daca fost apasat submit 333
当我按下submit333 submit按钮时,其他中的任何内容都不起作用。
我试着在else语句中重复一些东西,但没有任何效果
有什么想法吗?我做错了什么
MySql还可以。谢谢大家的回答 你的逻辑有缺陷
删除所有其他内容后,您的代码可以归结为:
if(!isset($_POST['submit13']))
{
}
else
{
if(!isset($_POST['submit333']))
{
}
else
{
// here is where you want stuff to happen when $_POST['c'] is set
}
}
但是如果您按下提交按钮submit333,那么您很可能不会同时按下提交按钮submit13,对吗
因为您没有按submit13,所以代码进入第一个if块,因此它不会进入属于第一个if的else分支,因此您的第二个if甚至从未执行过…听说过称为loop的东西吗?您做错了什么。。。要回答很多问题。。。查找:输入值消毒;为什么不在2013年使用mysql_*s函数;什么时候我真的需要一个html表;。。。仅举几个例子……我想让投反对票的人说明他们为什么这么做。问题太多了吗?每个项目的问题是否有限制?或者,我没有表现出我在这个代码上工作过?谢谢Acelasi Eu:代码风格使得阅读代码和提供建议变得非常困难,而且您对现代概念缺乏一般性的理解。另一方面,用外语调试代码/变量/注释并不容易。这是因为免责声明。它给人一种傲慢的感觉,通常愿意帮忙的人都不喜欢它。不要发表这样的免责声明或准备获得否决票。至于您的答案:您在else部分中的查询失败了,但是您没有看到它,因为您可能已经禁用了错误报告。因此,回声不起作用。将回音放在查询之前,看看它是否打印出我现在开始理解的内容。我不知道为什么这里的每个人都希望你是一个专业程序员。我是个乞丐。我尽我所能帮助任何人,并期望得到回报。我并不完美。谢谢你的回复@AcelasiEu你缺乏基本的逻辑知识,与编程无关。@afarazit这是4个月前的事了……从那时起,我学习了zend framework,相处得很好;我们都是从这个开始的,;和平与爱!