Can't get my PHP to show error when form field is blank

时间:2015-10-30 23:55:41

标签: php forms

I am making a PHP Journal through a form, but no matter what I do, it always comes up as successfully posted. I've tried using empty() and null but I'm not sure what I'm doing wrong. Here is the HTML for the form: <form action="journal_post.php" method="post"> <p>Give your entry a title.</p> <input class="input" type="text" name="title" /> <p>What is your mood today?</p> <input class="input" type="text" name="mood" /> <p>Now please tell me about your day.</p> <textarea class="input" name="entry" rows="12" cols="75" type="text"> </textarea> <br> <br> <input class="submit" type="image" src="submit.png" name="submit" value="Submit" /> <form> Here is the PHP: <?php $servername = "localhost"; $username = "root"; $password = "blahblah"; debug_to_console($password); //Establishing Connection with Server $connection = mysql_connect($servername, $username, $password); //Selecting Database from Server $journal_db = mysql_select_db("journal_db", $connection); if(isset($_POST['submit'])){ //Fetching variables of the form which travels in URL $title = $_POST['title']; $mood = $_POST['mood']; $entry = $_POST['entry']; if($title !=''||$entry !=''){ //Insert Query of SQL $query = mysql_query("insert into entrys(j_title, j_mood, j_entry) values ( '$title', '$mood', '$entry')"); echo "<br/><br/><span>Journal entry recorded..!!</span>"; } else{ echo "<p>Insertion Failed <br/> Some Fields are Blank....!!</p>"; } } //Closing Connection with Server mysql_close($connection); ?>

3 个答案:

答案 0 :(得分:0)

Change: if($title !=''||$entry !=''){ to: if($title !=''&&$entry !=''){ You want to check that both $title and $entry aren't empty, not either-or.

答案 1 :(得分:0)

You should definitely use isset() to check the field before insertion into database

答案 2 :(得分:0)

the line <textarea class="input" name="entry" rows="12" cols="75" type="text"> </textarea> actually adds a space in the entry, change it to <textarea class="input" name="entry" rows="12" cols="75" type="text"></textarea>