2015-05-02 5 views
-2

Когда я нажимаю кнопку submit из формы без ввода каких-либо значений, она отображает сообщение Please fill all the fields и ошибку для запроса. Но он также генерирует следующее уведомление:Проверка формы в получении php Уведомление?

Notice: Undefined variable: sql in C:\XAMPP\htdocs\statistics\savecourseadminscores.php on line 31

Это нормально?

saveITScores.php

<?php 

define('DB_NAME','some');//false name 
define('DB_USER','some');//false name 
define('DB_PASSWORD','some');//false name 
define('DB_HOST','localhost'); 

$connect = mysql_connect(DB_HOST,DB_USER,DB_PASSWORD); 

if(!$connect){ 
     die('Could not connect:'.mysql_error()); 
} 

$db_selected=mysql_select_db(DB_NAME,$connect); 

if(!$db_selected){ 
    die('Can\'t use'.DB_NAME.':'.mysql_error()); 
} 

$value1=$_POST['s1']; 
$value2=$_POST['s2']; 
$value3=$_POST['year']; 

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

    if($value1 && $value2 && $value3){ 
     $sql="INSERT INTO itservice(s1,s2,year) VALUES('$value1','$value2','$value3')"; 
    } 
    else{ 
     echo "Please fill all the fields."; 
    } 
} 
    if(!mysql_query($sql)){ 
    die('Error:'.mysql_error()); 

    } 

    mysql_close(); 

    ?> 

saveForm.php

<div id="form"> 

<form action="saveITScores.php" method="POST"> 
S1: <input class="inputfield" type="text" name="s1" size="5"> <br /><br/> 
S2: <input class="inputfield" type="text" name="s2" size="5"> <br /><br/> 
<b>Year:<b/> 
<select name="year"> 
<option value="Choose">Please select..</option> 
<option value="2005">2005</option> 
<option value="2006">2006</option> 
<option value="2007">2007</option> 
<option value="2008">2008</option> 
<option value="2010">2010</option> 
<option value="2011">2011</option> 
<option value="2012">2012</option></select><br/><br/> 

<br/> 
<input type="submit" value="Save" name="submit"> 
<input type="reset" name="reset" value="Clear"><br /><br/> 
+0

Вы можете указать в коде, на котором линии вы, кажется, что уведомление будет генерировать. И, пожалуйста, используйте mysqli_ * или PDOinstead of mysql_ *, потому что это официально устарело noe. –

+2

'if (! Mysql_query ($ sql)) {' <- Посмотрите на этот оператор if и подумайте об этом, когда вы получите результат: 'Пожалуйста, заполните все поля', когда и где определена переменная' $ sql' – Rizier123

+0

@ anant kumar singh На строке 31 в 'saveITScores.php' я получаю это' Уведомление'. –

ответ

0
<?php 

if(isset($_POST['submit'])){ 
    $value1=$_POST['s1']; 
    $value2=$_POST['s2']; 
    $value3=$_POST['year']; 

    if(!empty($value1) && !empty($value2) && !empty($value3)) 
    { 
     $sql=mysql_query("INSERT INTO `itservice`(`s1`,`s2`,`year`)VALUES('".$value1."','".$value2."','".$value3."')")or die(mysql_error()); 
    } 
    else{ 
     echo "Please fill all the fields."; 
    } 
} 

    ?> 
+1

1. И что должен делать OP с этим кодом? 2. Это не решит проблему OP! – Rizier123

+0

@ Rizier123 почему бы и нет? просто скорректировал код! –

+0

И что вы исправили? Почему вы исправили его, что случилось с кодом OP? – Rizier123

Смежные вопросы