rock69

  • Nombre de sujets
    2
  • Nombre de messages
    13
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers messages sur les forums

rock69
le 19/09/2007 à 13:34
unlink()
désolé pour le double post…
Encore merci à tous pour votre aide précieuse ;-)
rock69
le 19/09/2007 à 13:32
unlink()
Salut,

"images/".$data[image] : chemin correct

par contre, keika effectivement ma requête ne passait pas… j'obtenais : Erreur SQL !
SELECT * From news WHERE id='2'

j'ai rajouté la connexion directement dans la fonction
require ("../private/connexion.php");
et là tout fonctionne ;-)




mon code à jour
<html>
<head>
<style type="text/css">
<!--
body {
background-color: #E5E5E5;
}
body,td,th {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
color: #000000;
}
-->
</style>
</head>
<body>

<?php

echo $_POST[numero]."<br><br>";
echo $_POST[parution]."<br><br>";
echo nl2br(stripslashes($_POST[contenu]))."<br><br>";

include ("../private/connexion.php");


function CopiePhoto() {
if($_FILES[image][size]>1) {
copy($_FILES[image][tmp_name], "images/".$_FILES[image][name]);
}// if
}

function SupprimerPhoto($id) {
require ("../private/connexion.php");
$requete = "SELECT * From news WHERE id='$_GET[id]'";
$resultat = mysql_query ($requete, $connexion) or die('Erreur SQL !<br />'.$requete.'<br />'.mysql_error());
while ($data = mysql_fetch_array ($resultat)) {
unlink ("images/".$data[image]);
}
}

include ("miseEnForme.php");

if($_GET[action] == "delete") {
$supprimer = "DELETE FROM news WHERE id=$_GET[id]";
mysql_query ($supprimer, $connexion);
}
elseif ($_GET[action]=="update") {
CopiePhoto();
$modifier = "UPDATE news SET id='$_GET[id]', numero='$_POST[numero]', parution='$_POST[parution]', contenu='$_POST[contenu]', image='".$_FILES[image][name]."' WHERE id='$_GET[id]'";
mysql_query ($modifier, $connexion);
}
elseif ($_GET[action]=="insert") {
CopiePhoto();
$ajouter = "INSERT news SET id='', numero='$_POST[numero]', parution='$_POST[parution]', contenu='$_POST[contenu]', image='".$_FILES[image][name]."'";
mysql_query ($ajouter, $connexion);
}
elseif ($_GET[action] == "deletePhoto") {
SupprimerPhoto($id);
}



$requete = "SELECT * From news order by id DESC";
$resultat = mysql_query ($requete, $connexion);
?>
<table border=1 width=600>
<?

while ($data = mysql_fetch_row ($resultat)) {
list ($id, $numero, $parution, $contenu, $image) = $data;

echo "<tr><td valign='top' width='325' border='1'>";
echo "<h3>".$numero.' - '.$parution."</h3>";
echo resumeTexte($contenu)."<br><br>";
echo "</td><td valign='center' width='200'>";
echo "<div align='center'><img src='images/".$image."' width='140' height='200'></div><br>";
echo "</td><td valign='top' width='25'>";
echo "<a href='news_exe.php?id=$id&action=delete' onclick='return confirm (\"Supprimer cet enregistrement ?\");'><img src='images/supprimer.gif'></a>";
echo "</td><td valign='top' width='25'>";
echo "<a href='form_news.php?id=$id&action=update'><img src='images/modifier.gif'></a>";
echo "</td><td valign='top' width='25'>";
echo "<a href='news_exe.php?id=$id&action=deletePhoto'>Supprimer la photo</a>";
echo "</td></tr>";

}
?>

</td><td><a href='form_news.php?action=insert'><img src='images/ajouter.gif'></a></td></tr>

</table>

</body>
</html>
rock69
le 18/09/2007 à 16:15
unlink()
vraiment désolé de ne pas y arriver malgré vos explications…
rock69
le 18/09/2007 à 16:11
unlink()
Salut,
Les paramètres passent visiblement bien dans l'url :
news_exe.php?id=29&action=deletePhoto

j'ai placé la connexion de la BD avant la fonction mais c'est idem l'image n'est toujours pas supprimée :-(
voici le code

<html>
<head>
<style type="text/css">
<!--
body {
background-color: #E5E5E5;
}
body,td,th {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
color: #000000;
}
-->
</style>
</head>
<body>

<?php

echo $_POST[numero]."<br><br>";
echo $_POST[parution]."<br><br>";
echo nl2br(stripslashes($_POST[contenu]))."<br><br>";

include ("connexion.php");

$connexion = mysql_connect($host, $user, $pass);

$base = "mabase";

mysql_select_db($base, $connexion);

function CopiePhoto() {
if($_FILES[image][size]>1) {
copy($_FILES[image][tmp_name], "images/".$_FILES[image][name]);
}// if
}

function SupprimerPhoto($id) {
$requete = "SELECT * FROM news WHERE id=$_GET[id]";
$resultat = mysql_query ($requete, $connexion);
while ($data = mysql_fetch_array ($resultat)) {
unlink ("images/".$data[image]);

}
}

include ("miseEnForme.php");

if($_GET[action] == "delete") {
$supprimer = "DELETE FROM news WHERE id=$_GET[id]";
mysql_query ($supprimer, $connexion);
}
elseif ($_GET[action]=="update") {
CopiePhoto();
$modifier = "UPDATE news SET id='$_GET[id]', numero='$_POST[numero]', parution='$_POST[parution]', contenu='$_POST[contenu]', image='".$_FILES[image][name]."' WHERE id='$_GET[id]'";
mysql_query ($modifier, $connexion);
}
elseif ($_GET[action]=="insert") {
CopiePhoto();
$ajouter = "INSERT news SET id='', numero='$_POST[numero]', parution='$_POST[parution]', contenu='$_POST[contenu]', image='".$_FILES[image][name]."'";
mysql_query ($ajouter, $connexion);
}
elseif ($_GET[action] == "deletePhoto") {
SupprimerPhoto($id);
}



$requete = "SELECT * From news order by id DESC";
$resultat = mysql_query ($requete, $connexion);
?>
<table border=1 width=600>
<?

while ($data = mysql_fetch_row ($resultat)) {
list ($id, $numero, $parution, $contenu, $image) = $data;

echo "<tr><td valign='top' width='325' border='1'>";
echo "<h3>".$numero.' - '.$parution."</h3>";
echo resumeTexte($contenu)."<br><br>";
echo "</td><td valign='center' width='200'>";
echo "<div align='center'><img src='images/".$image."' width='140' height='200'></div><br>";
echo "</td><td valign='top' width='25'>";
echo "<a href='news_exe.php?id=$id&action=delete' onclick='return confirm (\"Supprimer cet enregistrement ?\");'><img src='images/supprimer.gif'></a>";
echo "</td><td valign='top' width='25'>";
echo "<a href='form_news.php?id=$id&action=update'><img src='images/modifier.gif'></a>";
echo "</td><td valign='top' width='25'>";
echo "<a href='news_exe.php?id=$id&action=deletePhoto'>Supprimer la photo</a>";
echo "</td></tr>";

}
?>

</td><td><a href='form_news.php?action=insert'><img src='images/ajouter.gif'></a></td></tr>

</table>

</body>
</html>
rock69
le 17/09/2007 à 14:01
unlink()
Bonjour,
c'est vraiment sympa de vous donner autant de mal… après plusieurs essais, je n'y arrive toujours pas :-(

Sammuel, j'ai essayé d'intégrer le code juste après la requête mais ça ne m'indique rien : mais je l'ai peut-être pas placé au bon endroit…

voici le code dans son intégralité… si ça peut être plus clair… encore merci


<html>
<head>
<style type="text/css">
<!--
body {
background-color: #E5E5E5;
}
body,td,th {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
color: #000000;
}
-->
</style>
</head>
<body>

<?php

echo $_POST[numero]."<br><br>";
echo $_POST[parution]."<br><br>";
echo nl2br(stripslashes($_POST[contenu]))."<br><br>";


echo "<br><br>";

function CopiePhoto() {
if($_FILES[image][size]>1) {
copy($_FILES[image][tmp_name], "images/".$_FILES[image][name]);
}// if
}

function SupprimerPhoto() {
$requete = "SELECT * FROM news WHERE id=$_GET[id]";
$resultat = mysql_query ($requete, $connexion);
while ($data = mysql_fetch_array ($resultat)) {
unlink ("images/".$data[image]);

}
}


include ("connexion.php");


$connexion = mysql_connect($host, $user, $pass);

$base = "mabase";

mysql_select_db($base, $connexion);

include ("miseEnForme.php");

if($_GET[action] == "delete") {
$supprimer = "DELETE FROM news WHERE id=$_GET[id]";
mysql_query ($supprimer, $connexion);
}
elseif ($_GET[action]=="update") {
CopiePhoto();
$modifier = "UPDATE news SET id='$_GET[id]', numero='$_POST[numero]', parution='$_POST[parution]', contenu='$_POST[contenu]', image='".$_FILES[image][name]."' WHERE id='$_GET[id]'";
mysql_query ($modifier, $connexion);
}
elseif ($_GET[action]=="insert") {
CopiePhoto();
$ajouter = "INSERT news SET id='', numero='$_POST[numero]', parution='$_POST[parution]', contenu='$_POST[contenu]', image='".$_FILES[image][name]."'";
mysql_query ($ajouter, $connexion);
}
elseif ($_GET[action] == "deletePhoto") {
SupprimerPhoto();
}



$requete = "SELECT * From news order by id DESC";
$resultat = mysql_query ($requete, $connexion);
?>
<table border=1 width=600>
<?

while ($data = mysql_fetch_row ($resultat)) {
list ($id, $numero, $parution, $contenu, $image) = $data;

echo "<tr><td valign='top' width='325' border='1'>";
echo "<h3>".$numero.' - '.$parution."</h3>";
echo resumeTexte($contenu)."<br><br>";
echo "</td><td valign='center' width='200'>";
echo "<div align='center'><img src='images/".$image."' width='140' height='200'></div><br>";
echo "</td><td valign='top' width='25'>";
echo "<a href='news_exe.php?id=$id&action=delete' onclick='return confirm (\"Supprimer cet enregistrement ?\");'><img src='images/supprimer.gif'></a>";
echo "</td><td valign='top' width='25'>";
echo "<a href='form_news.php?id=$id&action=update'><img src='images/modifier.gif'></a>";
echo "</td><td valign='top' width='25'>";
echo "<a href='news_exe.php?id=$id&action=deletePhoto'>Supprimer la photo</a>";
echo "</td></tr>";

}
?>

</td><td><a href='form_news.php?action=insert'><img src='images/ajouter.gif'></a></td></tr>

</table>

</body>
</html>
rock69
le 12/09/2007 à 05:43
unlink()
Salut,
je cale :-(
j'ai fais exactement comme Sammuel m'explique mais la fonction ne supprime toujours pas l'image…
Keika, je m'étais aperçu du nom de la table, je l'ai modifié mais ça n'a rien changé…
smiley
rock69
le 11/09/2007 à 13:34
unlink()
Salut,
merci de votre aide…
j'ai essayé ainsi :
$requete = 'SELECT DISTINCT image FROM ta_table WHERE id="'.$id.'" ;

mais ça ne fonctionne toujours pas… c'est galère :-(
rock69
le 10/09/2007 à 17:30
unlink()
"distinct" : il me semble que c'est pour éviter d'avoir des redondances…
je viens d'essayer sans mais ça ne fonctionne toujours pas… pour info je teste en local
rock69
le 10/09/2007 à 14:26
unlink()
Bonjour,
je n'arrive pas à utiliser la fonction unlink()

include("connexion.php");

function SupprimerPhoto($id) {
$requete = "Select distinct image From news where id=".$id;
$resultat = mysql_query ($requete, $connexion);
$data = mysql_fetch_row ($resultat);
unlink ("../img/".$data['image']);
}

la fonction est appelée via le lien suivant :
news_exe.php?id=$id&action=deletePhoto
et la condition suivante :
if($_GET[action] == "deletePhoto") {
SupprimerPhoto($id);
}
Si quelqu'un peut m'éclairer sur les erreurs ça serait bien sympa…
merci par avance
Fab
rock69
le 05/07/2007 à 13:44
Sauvegarde BDD
c'est à dire… peux-tu être plus explicite, stp ?
c'est un hébergement pro chez hosteur…
LoadingChargement en cours