Jump to content

Archived

This topic is now archived and is closed to further replies.

Perad

My edit functions not working?

Recommended Posts

Everything works apart from the final edit part. I keep getting "you cocked up" which the message when it fails. Could someone help me determine why this fails.

[code=php:0]<php
function editNews($id) {
global $dbc;

$query = "SELECT * FROM news WHERE id=$id";
$result = mysql_query ($query);

/* if we get no results back, error out */
if (mysql_num_rows ($result) == 0) {
echo "Invalid News ID\n";
return;
}
$row = mysql_fetch_assoc($result);
echo "<TABLE border=\"1\" width=\"580\">\n";

/* easier to read variables and
* striping out tags */
$title = htmlentities ($row['title']);
$news = nl2br (strip_tags ($row['newstext'], '<a><b><i><u>'));
/* display the items */
echo "<FORM action=\"{$_SERVER['PHP_SELF']}" . "?action=handleedit&id=$id\" method=POST>\n";
echo "<input type=\"text\" name=\"newstitle\" value = \"".$title."\" size=\"50\" maxlength=\"50\" /><br />";
echo "<TEXTAREA cols=\"60\" rows=\"12\" " . "name=\"content\">$news</TEXTAREA><BR>\n";
echo "<input type=\"submit\" name=\"editsubmit\" " . "value=\"Save Changes\"\n";
echo "</FORM>\n";
}

function handleEdit($id) {
global $dbc;
$t = $_POST['newstitle'];
$c = $_POST['content'];
$query = "UPDATE news SET title='$t' newstext='$c' WHERE id='$id'" OR die ('Could not connect to MySQL: ' . mysql_error() );
$result = mysql_query($query);
if ($result) { // If it ran OK.

// Confirmation.
echo '<p><b>The news article has been added successfully!</b></p>';
} else {
echo 'You cocked it up';
}
exit(); // Quit the script.

mysql_close(); // Close the database connection.
}

/* this is where the script decides what do do */
if ($IsLoggedIn == 1) {

echo "<CENTER>\n";
switch($_GET['action']) {
case 'handleedit':
handleEdit($_GET['id']);
break;
case 'edit':
editNews($_GET['id']);
break;
case 'show':
displayOneItem($_GET['id']);
break;
case 'all':
displayNews(1);
break;
case 'addcomment':
addComment($_GET['id']);
break;
default:
displayNews();
}

}?>[/code]

Share this post


Link to post
Share on other sites
Try changing this:
[code]$query = "UPDATE news SET title='$t' newstext='$c' WHERE id='$id'" OR die ('Could not connect to MySQL: ' . mysql_error() );
$result = mysql_query($query);[/code]

To this:
[code]$query = "UPDATE news SET title='".$t."' newstext='".$c."' WHERE id='".$id."'";
$result = mysql_query($query) or die ('Could not connect to MySQL: ' . mysql_error() );[/code]

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.