I've written a simple script that allows me to enter "sites" into a database, and includes the following fields:
Title
Data (Description)
Image Name
Category
Below is my script:
<?
require ('interface.php');
//Inserts Site Into Database
if(isset($_POST['Submit'])) {
htmlspecialchars(stripslashes($data));
$sql = "INSERT INTO sites (title, category, data, image_name)
VALUES ('$title', '$category', '$data', '$image_name')";
$result = mysql_query($sql);
echo "Thank you! Page Added. To edit more site pages, click <a href=edit_sites.php>here</a>.\n";
//[Supposed To] Update Site Information
} else if(isset($_POST['Update'])) {
htmlspecialchars(stripslashes($data));
$sql2 = "UPDATE sites SET title='$title', data='$data' image_name='$image_name', category='$category' WHERE id=$id";
$result2 = mysql_query($sql2);
echo "Thank you! Site Updated. To edit more sites, click <a href=edit_sites.php>here</a>.\n";
//Form for updating site
} else if(isset($id)) {
$result = mysql_query("SELECT * FROM sites WHERE id=$id",$db);
$myrow = mysql_fetch_array($result);
$myid = $myrow["id"];
?>
<form method="post" action="<?php echo $PHP_SELF?>">
<input type="hidden" name="id" value="<?php echo $myid ?>">
Title: <input type="Text" name="title" value="<?php echo $myrow["title"]?>"><br>
Category: <select name=category>
<?
//Dropdown list populated by category table in db
$mycategory = "SELECT * FROM categories";
$catresults2 = mysql_query($mycategory);
while ($thisrow=mysql_fetch_array($catresults2,MYSQL_ASSOC))
{
$current_id = $thisrow["id"];
print "<option value=".$thisrow["id"];
if ($thisrow["id"]==$myrow["category"])
{
print " selected";
};
print ">".$thisrow["title"]."</option>\n";
};
?>
</select><br>
Data:<input type="Text" name="data" value="<?php echo $myrow["data"]?>"><br>
Screenshot Current: <img src=<? echo SITE_URL; ?>/images/screenshots/<? echo $myrow["image_name"] ?>>
<input type=hidden name="image_name" value=<? echo $myrow["image_name"] ?>>
<input type="Submit" name="Update" value="Update Page"></form>
<?
} else {
//Below is the form to enter sites into database
?>
<form method="post" action="<?php echo $PHP_SELF?>">
<?
$mycategory = "SELECT id,title FROM categories";
$catresults = mysql_query($mycategory,$db); ?>
Category: <select name=category>
<?
//Dropdown list populated by category table in db
while ($row=mysql_fetch_array($catresults,MYSQL_ASSOC))
{
print "<option value=".$row["id"].">".$row["title"]."</option>\n";
};
?>
</select><br>
Title:<input type="Text" name="title"><br>
Description:<input type="Text" name="data"><br>
Screenshot Name: <input type="Text" name="image_name">
<br>
<input type="Submit" name="Submit" value="Add Site">
</form>
<?
}
?>
I am able to successfully insert new sites into the database but I cannot update anything and can't figure out why. Hoping someone can guide me in the right direction? Thanks 🙂