附inde.php代码和updateentry.php代码<?phprequire("header.php");$sql="SELECT entries.*,categories.cat 
FROM entries,categories
WHERE entries.cat_id=categories.id
ORDER BY dateposted DESC
LIMIT 1;";
$result=mysql_query($sql);
$row=mysql_fetch_assoc($result);echo"<h2><a href='viewentry.php?id=".$row['id']."'>".$row['subject']."</a></h2><br />";
echo"<i>In<a href='viewcat.php?id=".$row['cat_id']."'>".$row['cat']."</a>-posted on". date("D jS F Y g.iA",strtotime($row['dateposted']))."</i>";
if(isset($_SESSION['USERNAME'])==true){
echo"[<a href='updateentry.php?id=".$row['id']."'>edit</a>]";
}
echo"<p>";
echo nl2br($row['body']);
echo"</p>";echo"<p>";
$commsql="SELECT name 
FROM comments 
WHERE blog_id=".$row['id']."
ORDER BY dateposted;";
$commresult=mysql_query($commsql);
$numrows_comm=mysql_num_rows($commresult);
if($numrows_comm==0){
echo"<p>No comments.</p>";
}
else{
echo"(<strong>".$numrows_comm."</strong>)comments:";
$i=1;
while($commrow=mysql_fetch_assoc($commresult)){
echo"<a href='viewentry.php?id=".$row['id']."#comment".$i."'>".$commrow['name']."</a>";
$i++;
}
}
echo"</p>";$prevsql = "SELECT entries.*,categories.cat FROM entries,categories
WHERE entries.cat_id=categories.id
ORDER BY dateposted DESC
LIMIT 1,5;";
$prevresult=mysql_query($prevsql);
$numrows_prev=mysql_num_rows($prevresult);
if($numrows_prev==o){
echo"<p>No previous entries.</p>";
}
else{
echo"<ul>";

while($prevrow = mysql_fetch_assoc($prevresult)){
echo"<li><a href='viewentry.php?id=" . $prevrow['id'] . "'>". $prevrow['subject'] ."</a></li>";

}
}
echo"</ul>";require("footer.php");/*
$prevsql = "SELECT entries.*, categories.cat FROM entries, categories
WHERE entries.cat_id = categories.id
ORDER BY dateposted DESC
LIMIT 1, 5;";
$prevresult = mysql_query($prevsql);
$numrows_prev = mysql_num_rows($prevresult);if($numrows_prev == 0) {
echo "<p>No previous entries.</p>";
}
else { echo "<ul>"; while($prevrow = mysql_fetch_assoc($prevresult)) {
echo "<li><a href='viewentry.php?id=" . $prevrow['id'] . "'>" . $prevrow ['subject'] . "</a></li>";
}
}echo "</ul>";require("footer.php");*/
?><?phpsession_start();
require("config.php");if(isset($_SESSION['USERNAME']) == FALSE) {
header("Location: " . $config_basedir);
}$db = mysql_connect($dbhost, $dbuser, $dbpassword);
mysql_select_db($dbdatabase, $db);if(isset($_GET['id']) == TRUE) {
if(is_numeric($id) == FALSE) {
$error = 1;
} if($error == 1) {
header("Location: " . $config_basedir);
}
else {
$validentry = $_GET['id'];
}
}
else {
$validentry = 0;
}if($_POST['submit']) {
$sql = "UPDATE entries SET cat_id = " . $_POST['cat'] . ", subject = '" . $_POST['subject'] ."', body = '" . $_POST['body'] . "' WHERE id = " . $validentry . ";";
mysql_query($sql);

header("Location: " . $config_basedir . "/viewentry.php?id=".$validentry);

}
else { require("header.php"); $fillsql = "SELECT * FROM entries WHERE id = " . $validentry . ";";
$fillres = mysql_query($fillsql);
$fillrow = mysql_fetch_assoc($fillres);?>
<h1>Update Entry</h1>
<form action="<?php echo $SCRIPT_NAME . "?id=" . $validentry; ?>" method="post"><table>
<tr>
<td>Category</td>
<td>
<select name="cat">
<?php
$catsql = "SELECT * FROM categories;";
$catres = mysql_query($catsql);
while($catrow= mysql_fetch_assoc($catres)) {
echo "<option value='" . $catrow['id'] . "'";

if($catrow['id'] == $fillrow['cat_id']) {
echo " selected";
}

echo ">" . $catrow['cat'] . "</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td>Subject</td>
<td><input type="text" name="subject" value="<?php echo $fillrow['subject']; ?>"></td>
</tr>
<tr>
<td>Body</td>
<td><textarea name="body" rows="10" cols="50"><?php echo $fillrow['body']; ?></textarea></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="submit" value="Update Entry!"></td>
</tr>
</table>
</form><?php
}
require("footer.php");
?>



解决方案 »

  1.   

    代码来自:php+mysql八大动态web应用实践
      

  2.   

    你的session_start()是不是在header.php第一行?另外你的username是在哪段代码里赋值的?我觉得你是没给他username这个变量赋值。跳转是一个简单的动作,你也可以用js代码试试。
      

  3.   

    深刻的理解一下
    header("Location: " .
    的作用。
    以及后边跟的具体的字符串是什么。就知道为什么跳到首页了