Page 1 sur 1

Fichier effacer

Posté : 21 juil. 2010, 22:42
par gauthier 62
]<?php
include('config.php');
/*_____________________CONNEXION__________________________*/

mysql_connect("$hote","$utilisateur","$password");
mysql_select_db("$base") or die("erreur de connexion a la base de donnees");

/* _________________RECUP_DES_DONNEES____________________ */
$oui = (isset($_POST['oui'])) ? $_POST['oui'] : false;

{

  while (list($var, $value) = each($_GET))
    {
      $biens["$var"] = $value;
    }

if(isset($_GET['id']))
{
//execution de ton code
$effacer=mysql_query("delete from biens where id= '$_GET[id]'") or die (mysql_error());
}
else{}

echo "<h1 align=center>Enregistrement effacé<br><br><a href='listing.php'>Retour</a>";


// EFFACE SI ID=X AU CHARGEMENT
echo "<p align=center><font size=2><b>Voulez-vous effacer définitivement l'enregistrement suivant ?</b></font></p> ";

if(isset($_GET['eff'])){

$result = mysql_query("select * from biens where id='$_GET[eff]'") or die(mysql_error()); //Execute la requete
	
    // traite les résultats de la requete tant qu'il, y en a
    while(($donnees = mysql_fetch_array($result)))
    { 

       $id=$donnees[0];
	$dossier=$donnees[1];
	$codetypeB=$donnees[2];
	$description=$donnees[3];
	$date_annonce=$donnees[4];
	$lieu=$donnees[5];
	$prix=$donnees[6];
	$photo=$donnees[7];
	$photo1=$donnees[8];
	$photo2=$donnees[9];
	$photo3=$donnees[10];
	$codetypeC=$donnees[11];
	$nbre_piece=$donnees[12];
	$surface=$donnees[13];
	$localisation=$donnees[14];

echo "<center><table width=400><tr><td width=400 class=eff_civi>N° Dossier :  $dossier</td></tr></table></center>";					
echo "<br><br><br><p align=center><font size=2><b><a href='effacer.php?id=$id&oui=1'>OUI</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='listing.php'>NON</a></b></font></p>";



     }//Fin du while
}//Fin du if



else{
echo"erreur eff est non défini";
}
?>
[/php

Ce script devrait supprimer des enregistrements de ma base en l'occurrence là il ne le fait pas et de plus il devrait m'afficher oui ou non pour savoir si je veux vraiment supprimer et il ne me l'affiche pas.

merci de me venir en aide

Re: Fichier effacer

Posté : 22 juil. 2010, 07:58
par stopher
Nous ne sommes pas une plateforme de support :evil:

Le fait de dire bonjour est minimum , et faire attention à ce que le code php soit bien mis sous balises aussi .

que fait l'accolade sous cette ligne ? sans être fermé !
...

$oui = (isset($_POST['oui'])) ? $_POST['oui'] : false;

{

...

Sinon , sache que ton script est sujet aux injections sql , ( tu concatènes directement tes $_GET dans tes requêtes ).

Re: Fichier effacer

Posté : 22 juil. 2010, 09:18
par gauthier 62
Bonjour ,Arf

Desolé, je voulais modifier le post mais vu que je n'étais pas encore inscrit je n'ai pas put le modifier :? :(

Avez une solution à mon probleme?

<?php
include('config.php');
/*_____________________CONNEXION__________________________*/

mysql_connect("$hote","$utilisateur","$password");
mysql_select_db("$base") or die("erreur de connexion a la base de donnees");

/* _________________RECUP_DES_DONNEES____________________ */

$oui = (isset($_POST['oui'])) ? $_POST['oui'] : false;

{
  while (list($var, $value) = each($_GET))
    {
      $biens["$var"] = $value;
    }

		if(isset($_GET['id']))
		{
		//execution de ton code
		$effacer=mysql_query("delete from biens where id= '$_GET[id]'") or die (mysql_error());
		}
	else{}

	echo "<h1 align=center>Enregistrement effacé<br><br><a href='listing.php'>Retour</a>";


	// EFFACE SI ID=X AU CHARGEMENT
	echo "<p align=center><font size=2><b>Voulez-vous effacer définitivement l'enregistrement suivant ?</b></font></p> ";

	if(isset($_GET['eff']))
	{

	$result = mysql_query("select * from biens where id='$_GET[eff]'") or die(mysql_error()); //Execute la requete
	
    // traite les résultats de la requete tant qu'il, y en a
			while(($donnees = mysql_fetch_array($result)))
			{ 

			$id=$donnees[0];
			$dossier=$donnees[1];
			$codetypeB=$donnees[2];
			$description=$donnees[3];
			$date_annonce=$donnees[4];
			$lieu=$donnees[5];
			$prix=$donnees[6];
			$photo=$donnees[7];
			$photo1=$donnees[8];
			$photo2=$donnees[9];
			$photo3=$donnees[10];
			$codetypeC=$donnees[11];
			$nbre_piece=$donnees[12];
			$surface=$donnees[13];
			$localisation=$donnees[14];

		echo "<center><table width=400><tr><td width=400 class=eff_civi>N° Dossier :  $dossier</td></tr></table></center>";					
		echo "<br><br><br><p align=center><font size=2><b><a href='effacer.php?id=$id&oui=1'>OUI</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='listing.php'>NON</a></b></font></p>";



			 }//Fin du while
	}//Fin du if



	else
	{
	echo"erreur eff est non défini";
	}
}
?>

Re: Fichier effacer

Posté : 22 juil. 2010, 18:59
par AB
Ben faudrait repasser par la case départ...

Tu définis une variable $oui que tu n'utilise pas, tu ouvres un accolade { apparemment sans condition préalable ...

Sur le principe ce serait plutôt quelque chose dans le genre
$oui = isset($_POST['oui']) ? $_POST['oui'] : null;
$identifiant = isset($_GET['id']) , intval($_GET['id']) : null;// intval pour caster la variable en numérique (puisqu'apparemment tu attends une valeur numérique)

if (isset($oui,$identifiant))
{
//code de connexion à la bdd si non déjà effectué
//...
// fin du code de connexion

$query = "DELETE FROM biens WHERE id = '".mysql_real_escape_string($identifiant)."'";
$delete = mysql_query($query) or die  (mysql_error());
}

Re: Fichier effacer

Posté : 22 juil. 2010, 21:28
par gauthier 62
Merci, c'est bon j'ai trouvé mon erreur :D :D :D :D

Re: Fichier effacer

Posté : 23 juil. 2010, 03:30
par AB
Ok enfin que cela ne t'empêches pas de prendre l'habitude d'utiliser mysql_real_escape_string() pour sécuriser les données dans tes requêtes (comme dans mon exemple), car sinon comme l'a déjà dit stopher ton script sera sensible aux injections sql (facilement piratable).