hubbardude
12-13-2007, 05:04 PM
Maybe this should go in the Newbies section, but I thought the coding forum more appropriate. It's a simple update page. Mainly, I'd like to know if I can make this any safer from potential hacks. Plus, if I have any unnecessary code or I can make it more efficient in any way I'd love to know how. So please, tear it apart. You won't hurt my feelings, I swear.
First part - top of page
<?php
include 'data.php';
if(isset($_POST["submit"])) {
if (empty($_POST['title']) || empty($_POST['body'])) {
$messages[]="Please fill in all required fields";
}
else {
$news_id=$_POST['news_id'];
$title=$_POST['title'];
$body=$_POST['body'];
mysql_query(" UPDATE news SET title='$title' ,body='$body' WHERE news_id='$news_id'");
header("Location: index.php");
}
}
?>
Code within <body> section:
<?php
if(!empty($messages)){
displayMessages($messages);
}
$newssql = "SELECT * FROM news
WHERE news_id = '" . $_GET['news_id'] . "'";
$result = mysql_query($newssql)
or die("Invalid query: " . mysql_error());
$row = mysql_fetch_array($result);
$news_id = $row['news_id'];
$title = $row['title'];
$body = $row['body'];
?>
<form action="<?=$_SERVER["PHP_SELF"]?>" method="POST">
<input type="hidden" name="news_id" value="<? echo "$news_id" ?>">
News Title: <input type="text" name="title" value="<?php echo $title; ?>"><br />
News Body: <textarea name="body" cols="50" rows="20"><?php echo $body; ?></textarea>
<input type="submit" name="submit" value="Update">
</form>
First part - top of page
<?php
include 'data.php';
if(isset($_POST["submit"])) {
if (empty($_POST['title']) || empty($_POST['body'])) {
$messages[]="Please fill in all required fields";
}
else {
$news_id=$_POST['news_id'];
$title=$_POST['title'];
$body=$_POST['body'];
mysql_query(" UPDATE news SET title='$title' ,body='$body' WHERE news_id='$news_id'");
header("Location: index.php");
}
}
?>
Code within <body> section:
<?php
if(!empty($messages)){
displayMessages($messages);
}
$newssql = "SELECT * FROM news
WHERE news_id = '" . $_GET['news_id'] . "'";
$result = mysql_query($newssql)
or die("Invalid query: " . mysql_error());
$row = mysql_fetch_array($result);
$news_id = $row['news_id'];
$title = $row['title'];
$body = $row['body'];
?>
<form action="<?=$_SERVER["PHP_SELF"]?>" method="POST">
<input type="hidden" name="news_id" value="<? echo "$news_id" ?>">
News Title: <input type="text" name="title" value="<?php echo $title; ?>"><br />
News Body: <textarea name="body" cols="50" rows="20"><?php echo $body; ?></textarea>
<input type="submit" name="submit" value="Update">
</form>