Fichier effacer

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Fichier effacer

Re: Fichier effacer

par AB » 23 juil. 2010, 03:30

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).

Re: Fichier effacer

par gauthier 62 » 22 juil. 2010, 21:28

Merci, c'est bon j'ai trouvé mon erreur :D :D :D :D

Re: Fichier effacer

par AB » 22 juil. 2010, 18:59

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

par gauthier 62 » 22 juil. 2010, 09:18

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

par stopher » 22 juil. 2010, 07:58

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 ).

Fichier effacer

par gauthier 62 » 21 juil. 2010, 22:42

]<?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