刷新时仍保持选择选项标签

时间:2014-01-25 09:06:44

标签: php mysql

我想创建一个关于着名报价的网站,我想添加一个&#34; ADD报价部分&#34;。 我做了<form>,如下所示,但我想如果有人忘记选择作者或主题或写下他的引用来显示错误,如下面的错误部分,但如果他写了引号和忘记选择作者或主题我想显示错误,但保留写入的报价,这样用户就不会生气或类似的东西,他必须再次写下他的报价。这段代码我想申请选择作者并选择主题。表单如下所示:[表单添加引用]:http://imgur.com/PN72ZcH.jpg

另一个问题是,刷新时添加的引用是再次添加到mysql数据库,我想检查是否在数据库中添加了引用,如果添加它以显示错误& #39; 此引文已在数据库中&#39;。


require("connection.php");

在这里,您可以选择作者的姓名:

echo '<select name="selauthor"><option>-Author-</option>';

$author=mysql_query('SELECT * FROM author ORDER BY  `name` ASC ');

while($linea=mysql_fetch_array($author)){

echo '<option value="'.$linea[0].'">'.$linea[1].'</option>';}

echo '</select>';

在这里你选择引用主题(如爱,友谊,和平)

echo '<select name="selsubject"><option>-Subject-</option>';

$subject=mysql_query('SELECT * FROM subject ORDER BY  `name` ASC ' );

while($lines=mysql_fetch_array($subject)){

echo '<option value="'.$lines[0].'">'.$lines[1].'</option>';}

echo '</select>';

在这里你写下你的引语:

echo 'Write your quote:<input type="text" name="quote" value="">

<input type="submit" name="qtebut" value="Add Quote"><br /><br /><br />';

if(isset($_POST['qtebut'])){

$author=$_POST['selauthor'];

$subject=$_POST['selsubject'];

$quote=$_POST['quote'];

错误:

if($author=='-Author-'){echo 'Choose Author.<br />';}

if($subject=='-Subject-'){echo 'Choose Subject.<br />';}

if($quote==''){echo 'Don`t forget to write your quote.<br />';}

if($quote!='' && $author!='-Author-' && $subject!='-Subject-'){

$insert=mysql_query('INSERT INTO `quotes` (`id_subject`, `id_author`, `quote`) 

VALUES ("'.$author.'", "'.$subject.'", "'.$quote.'")');

echo 'Quote added in the database';}

2 个答案:

答案 0 :(得分:1)

试试这个 这是HTML FORM:

<form>
<select name="selauthor" required="required">
<option value="">-Select Author-</option>
</select>
<select name="selsubject" required="required">
<option value="">-Select Subject-</option>
</select>
<input type="text" name="qtebut" value="" required="required">
<input type="submit" value="ADD quote" />
</form>

PHP代码:

$author=$_POST['selauthor'];
$subject= $_POST['selsubject'];
$quote=$_POST['qtebut'];
if($author==''){echo 'Choose Author.<br />';}

if($subject==''){echo 'Choose Subject.<br />';}

if($quote==''){echo 'Don`t forget to write your quote.<br />';}

if($quote !='' && $author !='' && $subject!=''){

$insert=mysql_query('INSERT INTO `quotes` (`id_subject`, `id_author`, `quote`) 

VALUES ("'.$author.'", "'.$subject.'", "'.$quote.'")');
if($insert)
{
echo 'Quote added in the database';
}

答案 1 :(得分:0)

尝试使用html的 onblur()函数和javascript的 document.getElementById(idname).focus()函数,这样当你不选择任何东西时重点将保留在该标签上。

例如

<script>

function check()
{
    var x=document.getElementById("myid").value;

    if(check condition)
    {
        document.getElementById("myid").focus();
    }

}

</script>

<input type="text" id="myid" onblur="check()">