Проблемы ОБНОВЛЕНИЯ - отправка, а не обновление
Извините за беспорядок! Приведенный ниже код в основном вставляет текст в таблицу, затем я могу редактировать текст, который показывает вставленный текст в текстовой области в качестве значения. Проблема в том, что когда я пытаюсь обновить контент, он публикует новый контент, а не обновляет, поэтому у меня есть 2 поста.
Кажется, что беспокоящие запросы противоречат друг другу. Я пытался отделить их с помощью (if($_GET== ect }else{)
но все еще делаю то же самое. Все отлично работает, кроме не обновления.
Есть идеи
<?php
session_start();
include("header.php");
include("connect_db.php");
function protect($string)
{
$string = mysql_real_escape_string($string); $string = strip_tags($string);
$string = addslashes($string); return $string;
}
echo"
<style>
fieldset {
font-size:30px;
font-family:calibri;
border-radius: 10px;
padding: 5px;
width:220px;
}
textarea#user {
border: 2px solid #C0DFFF;
border-radius: 10px;
height: 475px;
width: 850px;
outline: none;
resize: none;
padding-left:15px;
padding-right:15px;
padding-top:10px;
padding-bottom:10px;
font-family: calibri;
font-size: 22px;
}
</style>
<table width='100%' border='0' height='80%'>
<tr>
<td width='25%' valign='top'>
";
include("user_sidebar.php");
echo"
</td>
<td width='75%' valign='top'>
</br>
";
if($_GET['cmd']=='edit')
{
if(!$_POST['submit'])
{
$result = mysql_query("SELECT * FROM user_blogs WHERE username='$username' AND id='$content_id'");
while($row = mysql_fetch_array($result))
{
echo"
<form method='POST' action='".htmlspecialchars($_SERVER["PHP_SELF"])."'>
<table border='0'><tr><td>
<input id='user_form' type='text' name='title' value='".$row['title']."'>
</td></tr>
<tr><td>
<textarea id='user' name='content'>".$row['content']."</textarea>
</td></tr>
<tr><td align='right'>
<input id='submit' type='submit' name='submit' value='post'>
</td></tr></table>
</form>";
}
}
else
{
$title = $_POST['title'];
$content = $_POST['content'];
$username = $_SESSION['username'];
$errors = array();
echo"
<form method='POST' action='".htmlspecialchars($_SERVER["PHP_SELF"])."'>
<table border='0'><tr><td>
";
if(!$title){
$errors[] = "1";
echo "<input id='user_form' type='text' name='title'><span class='Euser'><i> name your blog</i></span>"; } else { echo "<input id='user_form' type='text' name='title' value='".$title."'>"; }
echo"
</td></tr>
<tr><td>
";
if(!$content){
$errors[] = "1";
echo "<textarea id='user' name='content'>your blog must be at least 20 characters</textarea>";
} else { echo "
<textarea id='user' name='content'>".$content."</textarea>"; }
echo"
</td></tr>
<tr><td align='right'>
<input id='submit' type='submit' name='submit' value='post'>
</td></tr></table>
</form>";
if(count($errors) > 0){
echo"<span class='submit_error'>you have not completed your blog</span>";
}elseif($content=='your blog must be at least 20 characters'){ echo
"<span class='submit_error'>you have not entered any content</span>";
}else {
$content_id=$_GET['content_id'];
$username=$_SESSION['username'];
$sql2 = 'UPDATE user_blogs SET title="$title" AND content="$content" WHERE id="$content_id" AND username="$username"';
$res2 = mysql_query($sql2) or die(mysql_error());
echo"<span class='submit_successful'><b><i>".$title."</i></b> has been updated successfully</span>";}
}
}
else
{
if(!$_POST['submit'])
{
echo"
<form method='POST' action='".htmlspecialchars($_SERVER["PHP_SELF"])."'>
<table border='0'><tr><td>
<input id='user_form' type='text' name='title'>
</td></tr>
<tr><td>
<textarea id='user' name='content'></textarea>
</td></tr>
<tr><td align='right'>
<input id='submit' type='submit' name='submit' value='post'>
</td></tr></table>
</form>
";
}
else
{
$title = $_POST['title'];
$content = $_POST['content'];
$username = $_SESSION['username'];
$errors = array();
echo"
<form method='POST' action='".htmlspecialchars($_SERVER["PHP_SELF"])."'>
<table border='0'><tr><td>
";
if(!$title){
$errors[] = "1";
echo "<input id='user_form' type='text' name='title'><span class='Euser'><i> name your blog</i></span>"; } else { echo "<input id='user_form' type='text' name='title' value='".$title."'>"; }
echo"
</td></tr>
<tr><td>
";
if(!$content){
$errors[] = "1";
echo "<textarea id='user' name='content'>your blog must be at least 20 characters</textarea>";
} else { echo "
<textarea id='user' name='content'>".$content."</textarea>"; }
echo"
</td></tr>
<tr><td align='right'>
<input id='submit' type='submit' name='submit' value='post'>
</td></tr></table>
</form>";
if(count($errors) > 0){
echo"<span class='submit_error'>you have not completed your blog</span>";
}elseif($content=='your blog must be at least 20 characters'){ echo
"<span class='submit_error'>you have not entered any content</span>";
}else {
$sql2 = "INSERT INTO `user_blogs` (`title`,`content`,`username`,`date`,`time`)
VALUES ('".$title."','".$content."','".$username."', NOW(), UTC_TIMESTAMP())";
$res2 = mysql_query($sql2) or die(mysql_error());
echo"<span class='submit_successful'><b><i>".$title."</i></b> has been posted successfully</span>";}
}
}
echo"
</td>
</tr>
</table>";
include("footer.php"); ?>
1 ответ
Можете ли вы проверить, что вы получили правильное значение в переменной $content_id
, Если вы все правильно поняли, то вам нужно взять одно скрытое поле ввода, в которое вы должны поместить $content_id
как ценность.
Так что вы можете получить значение $content_id
эта переменная в данные поста.