2013-11-09 57 views
0

我有這個文件,我需要幫助修復我gettng的錯誤。我查過了,看起來很好,但是一定是錯的。錯誤是Php錯誤,不能找到哪裏

Notice: Undefined index: name in /home/info130/FA13/users/tmh233fa13/www/Test/posting_wall.php on line 62 

和我的php下面列出,這兩個文件。

謝謝!

Posting_wall.php文件。

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

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

<body> 
<?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 = $_REQUEST['name']; 

$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']); 
    // 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; 

    $success_flag = saveCurrentPost($post_fields); 
} 

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

require('header.php'); 
?> 
    <p><a href="form.php">Submit a Post</a></p> 

    <?php 
    if(isset($name)) { 
     echo "<h3>Thanks ".$name." for submitting your post.</h3>"; 
    } 
    ?> 

    <p>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){ 
     $name = $post['name']; 
     $email = $post['email']; 
     $message = $post['message']; 
     $date = $post['date']; 
     if ($counter % 2==1) 
     $li_class = "float-left"; 
     else 
     $li_class = "float-right"; 

     echo '<li class="'.$li_class.'"><h3><span>'.$name.'</span> wrote a post.</h3></li>'; 
     // Add more details here 
    } 
    ?> 
    </ul> 
    </div> 

</body> 
</html> 

form.php的文件

<!DOCTYPE HTML> 
<html> 
<head> 

<link type="text/css" rel="stylesheet" href="index.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 15 alphanumerical chars 

    value = $('[name="message"]').val(); 
    if (!/^[A-Za-z0-9]{3,15}$/.test(value)) { 
     alert('Wrong value for "message".'); 
     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> 
<h1> <u>Daily Dorm News</u> <br> The best place to get your latest Dorm news </h1> 
<form action="posting_wall.php" method="get"> 
<div id="container"> 
Name:<input type="text" name="name" pattern="[A-Za-z0-9]{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" required> <br> 
<input type="reset" value="Reset"> 
<input type="submit"> 
</form> 
<p><a href="posting_wall.php">Posting Wall</a></p> 
</body> 
</html> 

回答

1

這意味着HTTP POST缺乏 '名' 的關鍵。

錯誤是顯式的,如果你編輯php文件並轉到第62行,你可以理解。

1

您從未設置過$ name,您設置了$ username。

拷入,並從你的代碼剪短

$username = strip_tags($_REQUEST['name']); 

... 

$post_fields['username'] = $name; 
+0

是的,我這樣做,因爲在我的形式,爲用戶名字段=名稱的名稱,或者說沒有關係? – Terry

+0

你從來沒有設置varible $ name – andershagbard

+0

好,所以如果我更改用戶名到名字我應該是好的? – Terry