Avatar billede ohs Nybegynder
14. februar 2007 - 12:08 Der er 12 kommentarer og
1 løsning

Sletter ikke filnavn i databasen

Hvor kan fejlen ligge i denne kode.
Den sletter fint nok billede fra billemappen på serveren men ikke filnavn i databasen.

<?php require_once('../Connections/cms.php'); ?>
<?php
if($_GET["sletMig"] == "yes"){
if(file_exists($_SERVER["DOCUMENT_ROOT"]."/billeder/".$_GET["ID"])){
unlink($_SERVER["DOCUMENT_ROOT"]."/billeder/".$_GET["ID"]);
mysql_query("DELETE FROM billeder WHERE billednavn = '".$_GET["ID"]."'");
}
}
mysql_select_db($database_cms, $cms);
$query_rsBilleder = "SELECT * FROM billeder";
$rsBilleder = mysql_query($query_rsBilleder, $cms) or die(mysql_error());
$row_rsBilleder = mysql_fetch_assoc($rsBilleder);
$totalRows_rsBilleder = mysql_num_rows($rsBilleder);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Billedegalleri</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
    <!--
    function sletden() {
      if (confirm("Er du sikker på at du vil slette dette billede?")) {
    return true;
      } else {
    return false;
      }
    }
    // -->

</script>
</head>

<body>
<table width="100%"  border="0" cellspacing="2" cellpadding="2">
<?php do { ?>
  <tr>
    <td width="50%"><?php echo "<a href=\"gallery.php?sletMig=yes&ID=".$row_rsBilleder["billednavn"]."\" onclick=\"return sletden()\"><img height=\"100\" src=\"../billeder/".$row_rsBilleder['billednavn']."\"></a>"; ?></td>
    <td width="50%"><?php echo $row_rsBilleder['billednavn']; ?></td>
  </tr>
  <tr>
    <td colspan="2"><hr size="1" noshade></td>
  </tr>
  <?php } while ($row_rsBilleder = mysql_fetch_assoc($rsBilleder)); ?>
</table>
</body>
</html>
<?php
mysql_free_result($rsBilleder);
?>
Avatar billede michael_stim Ekspert
14. februar 2007 - 12:14 #1
mysql_query("DELETE FROM billeder WHERE billednavn = '".$_GET["ID"]."'") or die(mysql_error());
Avatar billede erikjacobsen Ekspert
14. februar 2007 - 12:15 #2
Du skal nok flytte din
  mysql_select_db($database_cms, $cms);
længere op, og det får du måske at vide fra den mysql_error() ...
Avatar billede ohs Nybegynder
14. februar 2007 - 12:36 #3
Skiftede denne her linje ud.
mysql_query("DELETE FROM billeder WHERE billednavn = '".$_GET["ID"]."'");

med denne her.
mysql_query("DELETE FROM billeder WHERE billednavn = '".$_GET["ID"]."'") or die(mysql_error());

Hvis man så sletter et billede kommer denne meddelse: No database selected
Avatar billede michael_stim Ekspert
14. februar 2007 - 12:45 #4
Som Erik skriver ;o)
Avatar billede ohs Nybegynder
14. februar 2007 - 12:57 #5
Har lige prøvet som Erik skriver men får så denne meddelse: No database selected

Men det kan jo også være mig som gør det forkert.
Avatar billede erikjacobsen Ekspert
14. februar 2007 - 13:00 #6
Du er velkommen til at vise hvad du har gjort. Du skal blot sikre at du får valgt databasen hvadenten du skal slette billeder eller kun vise dem. Og så kunne man jo også overveje at proppe den sætning ind i din '../Connections/cms.php', hvis man ikke skal bruge den til andet.
Avatar billede michael_stim Ekspert
14. februar 2007 - 13:02 #7
mysql_select_db($database_cms, $cms);
Hvor får du variablerne fra ($database_cms, $cms)?
Hvis det er navnet skal det nok være ('database_cms', 'cms')
Avatar billede ohs Nybegynder
14. februar 2007 - 13:11 #8
Kan i vise hvad i merer jeg skal flytte.

<?php
if($_GET["sletMig"] == "yes"){
if(file_exists($_SERVER["DOCUMENT_ROOT"]."/billeder/".$_GET["ID"])){
unlink($_SERVER["DOCUMENT_ROOT"]."/billeder/".$_GET["ID"]);
mysql_query("DELETE FROM billeder WHERE billednavn = '".$_GET["ID"]."'");
}
}
mysql_select_db($database_cms, $cms);
$query_rsBilleder = "SELECT * FROM billeder";
$rsBilleder = mysql_query($query_rsBilleder, $cms) or die(mysql_error());
$row_rsBilleder = mysql_fetch_assoc($rsBilleder);
$totalRows_rsBilleder = mysql_num_rows($rsBilleder);
?>
Avatar billede michael_stim Ekspert
14. februar 2007 - 13:13 #9
mysql_select_db($database_cms, $cms);
Flytter du op FØR din if.
Avatar billede ohs Nybegynder
14. februar 2007 - 13:30 #10
Perfekt det virker, tak for hurtig hjælp. Læg venligst et svar begge to.
Avatar billede michael_stim Ekspert
14. februar 2007 - 13:31 #11
Nej tak. Samler ikke på point.
Avatar billede erikjacobsen Ekspert
14. februar 2007 - 13:52 #12
Ingen point til mig, tak.
Avatar billede ohs Nybegynder
14. februar 2007 - 14:01 #13
Igen tak for hjælpen begge to.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester