使用剥离标签并检查空字段PHP

时间:2013-11-18 03:08:10

标签: php html forms

所以我在这里有一个表单,我想要做一些php,这样如果该字段为空,它会说一旦你在加载到帖子页面后提交表单,很遗憾你没有输入日期。我还想添加条带标签,但我不确定如果它们继续发布在posts_wall上,或者它们是否在form.php中?我想使用strip all tags。

我相信空的验证是if(!empty(($ date)){echo“抱歉你没有输入日期”;}但是我无法让它工作。

如果你能帮助我,请提前感谢你。我将发布form.php和下面的发布墙。

form.php的

<!DOCTYPE HTML>
<html> 
<head>

<link type="text/css" rel="stylesheet" href="../css/index.css" />
<link type="text/css" rel="stylesheet" href="../css/footer.css" />
<link type="text/css" rel="stylesheet" href="../css/header.css" />

<meta name="viewport" content="width=device-width" />
<title>Daily Dorm News</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css" />
<script>
$(function() {
$( "#datepicker" ).datepicker();
$('form').submit(function (e) {
    var value;

    // "message" pattern : from 3 to 150 alphanumerical chars

    value = $('[name="message"]').val();
    if (!/^[-\.a-zA-Z\s0-9]{3,150}$/.test(value)) {
        alert('Sorry, only alphanumerical characters are allowed and 3-150 character limit".');
        e.preventDefault();
        return;
    }

    // "name" pattern : at least 1 digit

    value = $('[name="name"]').val();
    if (!/\d+/.test(value)) {
        alert('Wrong value for "name".');
        e.preventDefault();
        return;
    }
});

});
</script>

</head>
<body>

<?php include 'header.php' ?>

<form action="index.php" method="get">
<div id="container">
Username:*<input type="text" name="name" pattern="{3,15}" title="Letters and numbers only, length 3 to 15" required autofocus><br>
E-mail:* <input type="email" name="email" maxlength="20" required><br>
Post:*<br>

<textarea rows="15" cols="50" name='message'></textarea>
</div>

Date this event took place: <input type="text" name='date' id="datepicker" > <br>
Your favorite website is: <input type="text" name="website">
Gender:
   <input type="radio" name="gender" value="female">Female
   <input type="radio" name="gender" value="male">Male
   <br>


<input type="reset" value="Reset">
<input type="submit">
</form>
<p> Fields with * next to them are required </p>
<p><a href="index.php">Posting Wall</a></p>
<div id="time">
<?php 

$nextWeek = time() + (7 * 24 * 60 * 60);
// 7 days; 24 hours; 60 mins; 60secs
echo 'The time at which you are posting is:'. date('h:i Y-m-d') ."\n";
?>
</div>
<?php include 'footer.php' ?>


</body>
</html>

发布墙

<!DOCTYPE HTML>
<html>
<head>
<link type="text/css" rel="stylesheet" href="../css/post.css" />
 <link type="text/css" rel="stylesheet" href="../css/heaader.css" />
<link type="text/css" rel="stylesheet" href="../css/footer.css" />

<meta name="viewport" content="width=device-width" />
<title>Daily Dorm News</title>
</head>

<body>
<h1>Daily Dorm News </h1>
<h2> You're best place for the latest dorm news from campus </h2>
<div id="container"> <?php if ( isset($_GET['name']) and preg_match("/^[A-Za-z0-9]+$/", $_GET['name']) ) {

    echo $_GET['name'];

} else {

    echo "You entered an invalid name!\n";

}

?><br>


Your email address is: <?php if ( isset($_GET['email']) and preg_match("/.+@.+\..+/i", $_GET['email']) ) {

    echo $_GET['email'];

} else {

    echo "You didn't enter a proper email address!\n";

}
?><br>
You Posted : <?php if ( isset($_GET['message']) and preg_match("/^[-\.a-zA-Z\s0-9]+$/", $_GET['message']) ) {

    echo $_GET['message'];

} else {

    echo "The message is not valid! The message box was blank or you entered invalid symbols!\n";

}
?>

This event happened :<?php echo $_GET["date"]; ?><br>
Your gender is:<?php echo $_GET["gender"]; ?><br>
Your favorite website is: <?php echo $_GET["website"]; ?><br>


</div>

<?php
/* [INFO/CS 1300 Project 3] index.php
 * Main page for our app.
 * Shows all previous posts and highlights the current user's post, if any.
* Includes a link to form.php if user wishes to create and submit a post.
*/

require('wall_database.php');

// Fetching data from the request sent by form.php  
$name = strip_tags($_REQUEST['name']);
$email = strip_tags($_REQUEST['email']);
$message = strip_tags($_REQUEST['message']);
$date = strip_tags($_REQUEST['date']);
$gender = strip_tags($_REQUEST['gender']);
$website = strip_tags($_REQUEST['website']);

$is_valid_post = true;
// Checking if a form was submitted
if (isset($_REQUEST['name'])){
 // Fetching data from the request sent by form.php  
$name = strip_tags($_REQUEST['name']);
$email = strip_tags($_REQUEST['email']);
$message = strip_tags($_REQUEST['message']);
$date = strip_tags($_REQUEST['date']);  
$gender = strip_tags($_REQUEST['gender']);  
$website = strip_tags($_REQUEST['website']);  


 // Saving the current post, if a form was submitted
 $post_fields = array();
 $post_fields['name'] = $name;
 $post_fields['email'] = $email;
 $post_fields['message'] = $message;
 $post_fields['date'] = $date;
  $post_fields['gender'] = $gender;
 $post_fields['website'] = $website;

 $success_flag = saveCurrentPost($post_fields);

}

//Fetching all posts from the database
$posts_array = getAllPosts();

?>


   <?php
   if(isset($name)) {
     echo "<h3>Thanks ".$name." for submitting your post.</h3>";
   }
   ?>
  <div id="logo"> Don't forget to tell all you're friends about Daily Dorm News! <br> The only dorm news website on campus!</div>

   <p id="received">Here are all the posts we have received.</p>
   <ul id="posts_list">
   <?php

   // Looping through all the posts in posts_array
   $counter = 1;

   foreach(array_reverse($posts_array) as $post){
    $alreadyPosted = false;
     $name = $post['name'];
     $email = $post['email'];
     $message = $post['message'];
     $date = $post['date'];
      $gender = $post['gender'];
     $website = $post['website'];

     if ($counter % 2==1)
       $li_class = "float-left";
     else
       $li_class = "float-right";

     if ($name == $_GET['name']) {
        $alreadyPosted = true;
     }
        echo '<div class=post';
          if ($alreadyPosted) {
            echo ' id="highlight"';
          }
        echo '>';
        echo '<li class="'.$li_class.'"><h3><span>'.$name.'</span> wrote a post.</h3></li>';
        echo '<li class="'.$li_class.'"><h3><span>'.$name.' email is: '.$email.'</span></h3></li>';
        echo '<li class="'.$li_class.'"><h3><span>'.$name.' wrote '.$message.'</span> wrote a post.</h3></li>';
        echo '<li class="'.$li_class.'"><h3><span>This event occured on '.$date.'</span></h3></li>';
        echo '<li class="'.$li_class.'"><h3><span>Your a  '.$gender.'</span></h3></li>';
        echo '<li class="'.$li_class.'"><h3><span>You said your favorite website is  '.$website.'</span></h3></li>';
        echo '</div>';
   }
   ?>

</ul>
</div>
<p id="submit"><a href="../index.php">Would you like to submit another post?</a></p>
<?php require 'footer.php' ?>

</body>
</html>

2 个答案:

答案 0 :(得分:0)

应该是

if(empty(($date)) { 
    echo "sorry you did not enter a date"; 
} 

不会

if(!empty(($date)) { 
     echo "sorry you did not enter a date"; 
 } 

如果日期字段为空,则第一个表达式将打印“抱歉,您没有输入日期”。如果日期字段为空,则第二个表达式将打印该消息。

您可以尝试以下代码。它将打印'这是一个空字符串'

<?php
$date = '';
if (empty($date)) {
    echo 'This is an empty string';
} 

if (!empty($date)) {
    echo 'The date is ' . $date;
}

答案 1 :(得分:0)

您可以在提交功能

中查看jquery
var datepicker=$("#datepicker").val();
if(datepicker=='') { alert('Please enter date'); return false; }