Gå till innehåll

Hjälp med uppdatera script [PHP Mysql]


Recommended Posts

Jag behöver hjälp med ett redigerings script. Jag har redan ett script med det fungerar inte. Kan ni se något fel i koden?

<?php
include '../config/config.php';
include '../config/opendb.php';

if(isset($_GET['id']))
{
$query = "SELECT id, title, content ".
         "FROM album ".
		 "WHERE id = '{$_GET['id']}'";
$result = mysql_query($query) or die('Error : ' . mysql_error());
list($id, $title, $content) = mysql_fetch_array($result, MYSQL_NUM);

$content = htmlspecialchars($content);
} 
else if(isset($_POST['title']))
{
    $id      = $_POST['id'];
$title   = $_POST['title'];
$content = $_POST['content'];

if(!get_magic_quotes_gpc())
{
	$title   = addslashes($title);
	$content = addslashes($content);
}

// update the article in the database
$query = "UPDATE album ".
         "SET title = '$title', content = '$content' ".
		 "WHERE id = '$id'";
mysql_query($query) or die('Error : ' . mysql_error());

// then remove the cached file
$cacheDir  = dirname(__FILE__) . '/cache/';
$cacheFile = $cacheDir . '_' . $_GET['id'] . '.html';

@unlink($cacheFile);

// and remove the index.html too because the file list
// is changed
@unlink($cacheDir . 'index.html');

echo "<p align='center'>Article updated</p>";

// now we will display $title & content
// so strip out any slashes
$title   = stripslashes($title);
$content = stripslashes($content);
}

include '../config/closedb.php';
?>
<form method="post" action="../cms-edit2.php">
<input type="hidden" name="id" value="<?=$id;?>">
  <table width="700" border="0" cellpadding="2" cellspacing="1" class="box" align="center">
    <tr> 
      <td width="100">Titel</td>
      <td><input name="title" type="text" class="box" id="title" value="<?=$title;?>"></td>
    </tr>
    <tr> 
      <td width="100">Text</td>
      <td><textarea name="content" cols="50" rows="10" class="box" id="content"><?=$content;?></textarea></td>
    </tr>
    <tr> 
      <td width="100"> </td>
      <td> </td>
    </tr>
    <tr> 
      <td colspan="2" align="center"><input name="update" type="submit" class="box" id="update" value="Uppdatera"></td>
    </tr>
  </table>
</form>

Länk till kommentar
Dela på andra webbplatser

Det ser inte ut att vara något fel i koden på den sidan vad jag kan se.

Vad är det för address till sidan som felar? Om du inte vill ge ut den så kanske du kan tala om vad som händer när du trycker på Uppdatera knappen? Får du ett felmeddelande, blir sidan vit eller händer det ingenting?

Länk till kommentar
Dela på andra webbplatser

kan väl fylla i lite till fetis då jag hjälpt honom med scriptet. Saken är den när du uppdaterar texten så skriver den över befintligt ID. Så om jag uppdaterar en artikel så skriver den över en annan artikel.

Länk till kommentar
Dela på andra webbplatser

Byt plats på if-satserna, if(isset($_GET['id'])) blir else if(isset($_GET['id'])) och else if(isset($_POST['title'])) blir if(isset($_POST['title'])). Då borde databasen uppdatera sig som den ska.

Jag är lite fundersam på vad som händer i cms-edit2.php som ni länkar till när formen skickats, borde den inte länka till sig själv istället?

Länk till kommentar
Dela på andra webbplatser

Delta i dialogen

Du kan skriva svaret nu och registrera dig senare, Om du har ett konto, logga in nu för att svara på inlägget.

Gäst
Svara i detta ämne...

×   Du har klistrat in innehåll med formatering.   Ta bort formatering

  Only 75 emoji are allowed.

×   Din länk har automatiskt bäddats in.   Visa som länk istället

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Skapa nytt...