Problème double enregistrement

Eléphant du PHP | 388 Messages

05 avr. 2010, 10:34

bonjour a tous,

J'ai un formulaire d'ajout d'annonce avec photo, j'ai effectué deux script differrent un pour ajouter l'annonce et l'autre pour mettre une photo ensuite j'ai combiné les deux script.
Le problème cela n'est pas bon il me semble qu'il faudrait que j'utilise des If mais je ne voit pas ou les placer.
Deplus le code fait lourd je pence qu'il y a moyen de l'alleger

Voici mon code :
<?php
// Fonction pour parser les variables vers FLASH 
function Parse($variable,$valeur) { 
echo "&" . $variable . "=" . utf8_encode($valeur);
}


$categorie=$_POST['categorie']; 
$typeannonce=$_POST['typeannonce'];
$souscategorie=$_POST['souscategorie'];
$titreannonce=$_POST['titreannonce'];
$descriptionannonce=$_POST['descriptionannonce'];
$prix=$_POST['prix'];

$departement=$_POST['departement'];
$region=$_POST['region'];

$NOMUTILISATEURS=$_POST['NOMUTILISATEURS'];
$MAILUTILISATEURS=$_POST['MAILUTILISATEURS'];
$MDP=$_POST['MDP'];
$MDPBIS=$_POST['MDPBIS'];
$TELEPHONE=$_POST['TELEPHONE'];




//Fontion "decoder" (facultative)
function decoder($texte){
	$texte = utf8_decode($texte);
      /*$texte = stripslashes($texte);
	$texte = trim($texte);
	$texte = htmlentities($texte, ENT_QUOTES);
	$texte = strip_tags($texte);
	$texte = nl2br($texte);
	$texte = str_replace(">", ">", $texte);
	$texte = str_replace("<", "<", $texte);*/
		
		 
        
        $texte = str_replace("%","%25",$texte); 
        $texte = str_replace("!","%21",$texte); 
        $texte = str_replace("\"","%22",$texte); 
        $texte = str_replace("#","%23",$texte); 
        $texte = str_replace("\$","%24",$texte); 
        $texte = str_replace("&","%26",$texte); 
        $texte = str_replace("'","%27",$texte); 
        $texte = str_replace("(","%28",$texte); 
        $texte = str_replace(")","%29",$texte); 
        $texte = str_replace("*","%2A",$texte); 
        $texte = str_replace("+","%2B",$texte);               
        $texte = str_replace("<","%3C",$texte); 
        $texte = str_replace("=","%3D",$texte); 
        $texte = str_replace(">","%3E",$texte); 
        $texte = str_replace("?","%3F",$texte);         
        $texte = str_replace("[","%5B",$texte); 
        $texte = str_replace("]","%5D",$texte); 
        $texte = str_replace("^","%5E",$texte);          
        $texte = str_replace("`","%60",$texte); 
        $texte = str_replace("{","%7B",$texte); 
        $texte = str_replace("|","%7C",$texte); 
        $texte = str_replace("}","%7D",$texte); 
        $texte = str_replace("~","%7E",$texte); 
        $texte = str_replace("¢","%A2",$texte); 
        $texte = str_replace("£","%A3",$texte); 
        $texte = str_replace("¥","%A5",$texte); 
        $texte = str_replace("|","%A6",$texte); 
        $texte = str_replace("§","%A7",$texte); 
        $texte = str_replace("«","%AB",$texte); 
        $texte = str_replace("¬","%AC",$texte); 
        $texte = str_replace("¯","%AD",$texte); 
        $texte = str_replace("º","%B0",$texte); 
        $texte = str_replace("±","%B1",$texte); 
        $texte = str_replace("ª","%B2",$texte);        
        $texte = str_replace("µ","%B5",$texte); 
        $texte = str_replace("»","%BB",$texte); 
        $texte = str_replace("¼","%BC",$texte); 
        $texte = str_replace("½","%BD",$texte); 
        $texte = str_replace("¿","%BF",$texte); 
	return $texte;
}	

$categorie = decoder($categorie);
$typeannonce = decoder($typeannonce);
$souscategorie = decoder($souscategorie);
$titreannonce = decoder($titreannonce);
$descriptionannonce = decoder($descriptionannonce);
$prix = decoder($prix);
$departement = decoder($departement);
$region = decoder($region);

$NOMUTILISATEURS = decoder($NOMUTILISATEURS);
$MAILUTILISATEURS = decoder($MAILUTILISATEURS);
$MDP = decoder($MDP);
$TELEPHONE = decoder($TELEPHONE);

if($_POST['MDP'] == $_POST['MDPBIS']){
  // traitement


//ici on commence avec les requêtes MySQL pour vérifier dans la table

include ('connect.php');//ici on inclut le fichier avec l'accès MySQL.
$crypt=md5($MDP);

$sql = "SELECT * FROM utilisateurs WHERE MAILUTILISATEURS = '$MAILUTILISATEURS'";//On sélectionne dans la table "UTILISATEUR" le login qui a pour valeur la variable "$login" 
    $req = mysql_query($sql)or die(mysql_error());   
    $result = mysql_numrows($req);// on compte le nombre de résultats 

    if($result!=0)  // le login existe déjà
        { 
        Parse("resultat","email '$MAILUTILISATEURS' existe deja, desole"); //alors on renvoi au Flash que le login '$MAILUTILISATEURS' existe déjà
        } 
    else  //sinon le login n'existe pas  
        {
		
        $sql = "INSERT INTO utilisateurs (NOMUTILISATEURS,MAILUTILISATEURS,MDP,TELEPHONE) VALUES ('$NOMUTILISATEURS','$MAILUTILISATEURS','$crypt','$TELEPHONE')"; //Alors on insert dans la table le nouvel utilisateur		
		mysql_query ($sql);
		$NUMUTILISATEURS=mysql_insert_id();
			$sql2 = "INSERT INTO annonces (categorie,typeannonce,souscategorie,titreannonce,descriptionannonce,prix,date,departement,region,NUMUTILISATEURS) VALUES ('$categorie','$typeannonce','$souscategorie','$titreannonce','$descriptionannonce','$prix','".date("Y-m-d H:i:s")."','$departement','$region','$NUMUTILISATEURS')";
			$req = mysql_query($sql2)or die(mysql_error()); 			
			
  	Parse("resultat","merci $MAILUTILISATEURS, vous etes a present enregistre et votre annonce est enregistré");
        }
		
} else {
  echo("Le Mot de passe est different du premier.");
}		

		$dossier = 'Images/';
        $maxsize = '1048576';
        $maxwidth = '2000';
        $maxheight = '2000';
		$compteur +=1;

        if ($_FILES['icone']['error'] > 0)
        {
                echo 'Erreur lors du transfert';
        }
        else
        {
                if ($_FILES['icone']['size'] > $maxsize)
                {
                        echo 'Le fichier est trop gros';
                }
                else
                {
                        $extensions_valides = array('jpg','jpeg','gif','png');
                        $extension_upload = strtolower(  substr(  strrchr($_FILES['icone']['name'], '.'),1));
                       
                        if (in_array($extension_upload,$extensions_valides))
                        {
                                $image_sizes = getimagesize($_FILES['icone']['tmp_name']);
                               
                                if (!$image_sizes[0] > $maxwidth OR $image_sizes[1] > $maxheight)
                                {
                                        echo 'Image trop grande';
                                }
                                elseif (file_exists($dossier . $_FILES['icone']['name']))
                                {
                                       echo 'Le nom de votre photo éxiste déjà merci de la renommer';
                                }
                                else
                                {
                                        $nom = "{$_FILES['icone']['name']}";
                                        $resultat = move_uploaded_file($_FILES['icone']['tmp_name'],$dossier.$nom);     if ($resultat)
                                        {
                                                echo 'Transfert réussi';
                                                mysql_connect("aaaa", "aaaa", "aaaaaaaaaa");
                                                mysql_select_db("aaaaa");
                                               
                                                $nom = mysql_real_escape_string($nom);
                        $image = $dossier.$nom;
                        $description = mysql_real_escape_string($_POST['description']);
                                               
                        mysql_query("INSERT INTO images VALUES('','" . $nom . "', '" . $description. "', '" . $image . "')");
                                        }
                                        else
                                        {
                                                echo 'Echec du transfert';
                                        }
                                }
                        }
                        else
                        {
                                echo 'Extension incorect';
                        }
                }
        }		
		

?>

merci de votre aide

ViPHP
ViPHP | 1996 Messages

05 avr. 2010, 10:57

C'est ici que cela te pose problème ?
$sql = "INSERT INTO utilisateurs (NOMUTILISATEURS,MAILUTILISATEURS,MDP,TELEPHONE) VALUES ('$NOMUTILISATEURS','$MAILUTILISATEURS','$crypt','$TELEPHONE')"; //Alors on insert dans la table le nouvel utilisateur        
                mysql_query ($sql);
                $NUMUTILISATEURS=mysql_insert_id();
                        $sql2 = "INSERT INTO annonces (categorie,typeannonce,souscategorie,titreannonce,descriptionannonce,prix,date,departement,region,NUMUTILISATEURS) VALUES ('$categorie','$typeannonce','$souscategorie','$titreannon...
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Eléphant du PHP | 388 Messages

05 avr. 2010, 11:04

Pourquoi cela pose t'il problème sachant que le formulaire marche bien me manque t'il des éléments ?

Mammouth du PHP | 985 Messages

05 avr. 2010, 12:30

Bonjour,
Bon il y a surement pas mal de petites choses, mais pas forcément évident de s'y retrouver.

Si je me rappelle bien et ne me trompe pas, tu te sers de la variable $NUMUTILISATEURS pour tes sessions...
Donc ceci:
$NUMUTILISATEURS=mysql_insert_id();
Je me demande si cela ne serait pas mieux pour pleins de petites de choses, de le remplacer par:
$NUMUTILISATEURS = $MAILUTILISATEURS;
Maintenant, il faudrait surement modifier ce champ de ta table, pour qu'il accepte un autre type de valeur, et il y a aussi un risque de bugs avec des valeurs déjà existantes...
Tout dépend si tu as déjà des utilisateurs et des annonces enregistrés dans ta BD...

Donc ce n'est pas forcément un bon conseil que je te donne là vue les risques de possibles bugs, mais c'est un élément qui me dérange un peu :wink:
Car le seul élément que tu peux te fier ensuite, c'est le mail de l'utilisateur, que se soit pour les sessions, pour les annonces, pour aussi rendre compatible tes deux tables, ne pas gêner l'ajout de nouvelles annonces...
Modifié en dernier par Dr@ke le 05 avr. 2010, 12:37, modifié 1 fois.
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.

Eléphant du PHP | 388 Messages

05 avr. 2010, 12:37

Bonjour,
Bon il y a surement pas mal de petites choses, mais pas forcément évident de s'y retrouver.

Si je me rappelle bien et ne me trompe pas, tu te sers de la variable $NUMUTILISATEURS pour tes sessions...
Donc ceci:
$NUMUTILISATEURS=mysql_insert_id();
Je me demande si cela ne serait pas mieux pour pleins de petites de choses, de le remplacer par:
$NUMUTILISATEURS = $MAILUTILISATEURS;
Maintenant, il faudrait surement modifier ce champ de ta table, pour qu'il accepte un autre type de valeur, et il y a aussi un risque de bugs avec des valeurs déjà existantes...
Tout dépend si tu as déjà des utilisateurs et des annonces enregistrés dans ta BD...

Donc ce n'est pas forcément un bon conseil que je te donne là vue les risques de possibles bugs, mais c'est un élément qui me dérange un peu :wink:
Je te remercie pour ta réponse cependant je souhaiterai garder mais champs tel quel :oops: , le script au dessus permet d'enregistrer l'utilisateur et d'ajouter sont annonce pour la première fois.si tu veut y jeter une coup d'œil http://www.logisdesannonces.fr/ajoutannonce.php.
donc pour le moment le principe de session n'est pas encore utilisé,cela se fera par la suite.
Effectivement j'ai déjà des utilisateurs enregistrés avec des annonces en cour.

Eléphant du PHP | 388 Messages

05 avr. 2010, 12:53

Oui c'est exact de se fait j'ai dans ma table annonces une clé étrangère qui reprend l'ID de l'utilisateur et cela fonctionne bien quand tu te loggue tu as tes annonces et si tu te loggue avec un autre compte tu as également tes annonces passé mais pas celle des autres utilisateurs

Mammouth du PHP | 985 Messages

05 avr. 2010, 13:06

Ok , je complique surement les choses pour rien.

Sinon:
if($_POST['MDP'] == $_POST['MDPBIS']){
Remplace par:
if (!empty($_POST) && $_POST['MDP'] == $_POST['MDPBIS']){
Ensuite:
} else {
  echo("Le Mot de passe est different du premier.");
}
Déplace ceci tout à la fin, donc la fin sera comme ceci:
} else {
  echo("Le Mot de passe est different du premier.");
}
?>
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.

Eléphant du PHP | 388 Messages

05 avr. 2010, 13:11

Donc j'ai éffectué se que tu ma dit j'obtient cela

&resultat=merci toto, vous etes a present enregistre et votre annonce est enregistrÃ-Extension incorect

Il enregistre bien l'utilisateur et l'annonce mais il mentionne que la photo est incorrect alors que c'est du jpg

voici donc le script total

deplus a deux moment je mentionne la connexion avec les paramétres de connexion je peut en supprimer un ?
<?php
// Fonction pour parser les variables vers FLASH 
function Parse($variable,$valeur) { 
echo "&" . $variable . "=" . utf8_encode($valeur);
}


$categorie=$_POST['categorie']; 
$typeannonce=$_POST['typeannonce'];
$souscategorie=$_POST['souscategorie'];
$titreannonce=$_POST['titreannonce'];
$descriptionannonce=$_POST['descriptionannonce'];
$prix=$_POST['prix'];

$departement=$_POST['departement'];
$region=$_POST['region'];

$NOMUTILISATEURS=$_POST['NOMUTILISATEURS'];
$MAILUTILISATEURS=$_POST['MAILUTILISATEURS'];
$MDP=$_POST['MDP'];
$MDPBIS=$_POST['MDPBIS'];
$TELEPHONE=$_POST['TELEPHONE'];

$dossier = 'Images/';
$maxsize = '1048576';
$maxwidth = '2000';
$maxheight = '2000';


//Fontion "decoder" (facultative)
function decoder($texte){
	$texte = utf8_decode($texte);
      /*$texte = stripslashes($texte);
	$texte = trim($texte);
	$texte = htmlentities($texte, ENT_QUOTES);
	$texte = strip_tags($texte);
	$texte = nl2br($texte);
	$texte = str_replace(">", ">", $texte);
	$texte = str_replace("<", "<", $texte);*/
		
		 
        
        $texte = str_replace("%","%25",$texte); 
        $texte = str_replace("!","%21",$texte); 
        $texte = str_replace("\"","%22",$texte); 
        $texte = str_replace("#","%23",$texte); 
        $texte = str_replace("\$","%24",$texte); 
        $texte = str_replace("&","%26",$texte); 
        $texte = str_replace("'","%27",$texte); 
        $texte = str_replace("(","%28",$texte); 
        $texte = str_replace(")","%29",$texte); 
        $texte = str_replace("*","%2A",$texte); 
        $texte = str_replace("+","%2B",$texte);               
        $texte = str_replace("<","%3C",$texte); 
        $texte = str_replace("=","%3D",$texte); 
        $texte = str_replace(">","%3E",$texte); 
        $texte = str_replace("?","%3F",$texte);         
        $texte = str_replace("[","%5B",$texte); 
        $texte = str_replace("]","%5D",$texte); 
        $texte = str_replace("^","%5E",$texte);          
        $texte = str_replace("`","%60",$texte); 
        $texte = str_replace("{","%7B",$texte); 
        $texte = str_replace("|","%7C",$texte); 
        $texte = str_replace("}","%7D",$texte); 
        $texte = str_replace("~","%7E",$texte); 
        $texte = str_replace("¢","%A2",$texte); 
        $texte = str_replace("£","%A3",$texte); 
        $texte = str_replace("¥","%A5",$texte); 
        $texte = str_replace("|","%A6",$texte); 
        $texte = str_replace("§","%A7",$texte); 
        $texte = str_replace("«","%AB",$texte); 
        $texte = str_replace("¬","%AC",$texte); 
        $texte = str_replace("¯","%AD",$texte); 
        $texte = str_replace("º","%B0",$texte); 
        $texte = str_replace("±","%B1",$texte); 
        $texte = str_replace("ª","%B2",$texte);        
        $texte = str_replace("µ","%B5",$texte); 
        $texte = str_replace("»","%BB",$texte); 
        $texte = str_replace("¼","%BC",$texte); 
        $texte = str_replace("½","%BD",$texte); 
        $texte = str_replace("¿","%BF",$texte); 
	return $texte;
}	

$categorie = decoder($categorie);
$typeannonce = decoder($typeannonce);
$souscategorie = decoder($souscategorie);
$titreannonce = decoder($titreannonce);
$descriptionannonce = decoder($descriptionannonce);
$prix = decoder($prix);
$departement = decoder($departement);
$region = decoder($region);

$NOMUTILISATEURS = decoder($NOMUTILISATEURS);
$MAILUTILISATEURS = decoder($MAILUTILISATEURS);
$MDP = decoder($MDP);
$TELEPHONE = decoder($TELEPHONE);

if (!empty($_POST) && $_POST['MDP'] == $_POST['MDPBIS']){
  // traitement


//ici on commence avec les requêtes MySQL pour vérifier dans la table

include ('connect.php');//ici on inclut le fichier avec l'accès MySQL.
$crypt=md5($MDP);

$sql = "SELECT * FROM utilisateurs WHERE MAILUTILISATEURS = '$MAILUTILISATEURS'";//On sélectionne dans la table "UTILISATEUR" le login qui a pour valeur la variable "$login" 
    $req = mysql_query($sql)or die(mysql_error());   
    $result = mysql_numrows($req);// on compte le nombre de résultats 

    if($result!=0)  // le login existe déjà
        { 
        Parse("resultat","email '$MAILUTILISATEURS' existe deja, desole"); //alors on renvoi au Flash que le login '$MAILUTILISATEURS' existe déjà
        } 
    else  //sinon le login n'existe pas  
        {
		
        $sql = "INSERT INTO utilisateurs (NOMUTILISATEURS,MAILUTILISATEURS,MDP,TELEPHONE) VALUES ('$NOMUTILISATEURS','$MAILUTILISATEURS','$crypt','$TELEPHONE')"; //Alors on insert dans la table le nouvel utilisateur		
		mysql_query ($sql);
		$NUMUTILISATEURS=mysql_insert_id();
			$sql2 = "INSERT INTO annonces (categorie,typeannonce,souscategorie,titreannonce,descriptionannonce,prix,date,departement,region,NUMUTILISATEURS) VALUES ('$categorie','$typeannonce','$souscategorie','$titreannonce','$descriptionannonce','$prix','".date("Y-m-d H:i:s")."','$departement','$region','$NUMUTILISATEURS')";
			$req = mysql_query($sql2)or die(mysql_error()); 			
			
  	Parse("resultat","merci $MAILUTILISATEURS, vous etes a present enregistre et votre annonce est enregistré");
        }
		
	

		
		

        if ($_FILES['icone']['error'] > 0)
        {
                echo 'Erreur lors du transfert';
        }
        else
        {
                if ($_FILES['icone']['size'] > $maxsize)
                {
                        echo 'Le fichier est trop gros';
                }
                else
                {
                        $extensions_valides = array('jpg','jpeg','gif','png');
                        $extension_upload = strtolower(  substr(  strrchr($_FILES['icone']['name'], '.'),1));
                       
                        if (in_array($extension_upload,$extensions_valides))
                        {
                                $image_sizes = getimagesize($_FILES['icone']['tmp_name']);
                               
                                if (!$image_sizes[0] > $maxwidth OR $image_sizes[1] > $maxheight)
                                {
                                        echo 'Image trop grande';
                                }
                                elseif (file_exists($dossier . $_FILES['icone']['name']))
                                {
                                       echo 'Le nom de votre photo éxiste déjà merci de la renommer';
                                }
                                else
                                {
                                        $nom = "{$_FILES['icone']['name']}";
                                        $resultat = move_uploaded_file($_FILES['icone']['tmp_name'],$dossier.$nom);     if ($resultat)
                                        {
                                                echo 'Transfert réussi';
                                                mysql_connect("aaaaa", "aaaaa", "aaaa");
                                                mysql_select_db("aaaa");
                                               
                                                $nom = mysql_real_escape_string($nom);
                        $image = $dossier.$nom;
                        $description = mysql_real_escape_string($_POST['description']);
                                               
                        mysql_query("INSERT INTO images VALUES('','" . $nom . "', '" . $description. "', '" . $image . "')");
                                        }
                                        else
                                        {
                                                echo 'Echec du transfert';
                                        }
                                }
                        }
                        else
                        {
                                echo 'Extension incorect';
                        }
                }
        }		
		
} else {
  echo("Le Mot de passe est different du premier.");
}	

?>

Mammouth du PHP | 985 Messages

05 avr. 2010, 13:16

Ensuite ceci:
$categorie=$_POST['categorie'];
$typeannonce=$_POST['typeannonce'];
$souscategorie=$_POST['souscategorie'];
$titreannonce=$_POST['titreannonce'];
$descriptionannonce=$_POST['descriptionannonce'];
$prix=$_POST['prix'];

$departement=$_POST['departement'];
$region=$_POST['region'];

$NOMUTILISATEURS=$_POST['NOMUTILISATEURS'];
$MAILUTILISATEURS=$_POST['MAILUTILISATEURS'];
$MDP=$_POST['MDP'];
$MDPBIS=$_POST['MDPBIS'];
$TELEPHONE=$_POST['TELEPHONE'];
Tu le déplaces juste en dessous de:
if (!empty($_POST) && $_POST['MDP'] == $_POST['MDPBIS']){
[EDIT]
Oups déplace ceci aussi en dessous:
$categorie = decoder($categorie);
$typeannonce = decoder($typeannonce);
$souscategorie = decoder($souscategorie);
$titreannonce = decoder($titreannonce);
$descriptionannonce = decoder($descriptionannonce);
$prix = decoder($prix);
$departement = decoder($departement);
$region = decoder($region);

$NOMUTILISATEURS = decoder($NOMUTILISATEURS);
$MAILUTILISATEURS = decoder($MAILUTILISATEURS);
$MDP = decoder($MDP);
$TELEPHONE = decoder($TELEPHONE);
Donc tu auras:
if (!empty($_POST) && $_POST['MDP'] == $_POST['MDPBIS']){

$categorie=$_POST['categorie'];
$typeannonce=$_POST['typeannonce'];
$souscategorie=$_POST['souscategorie'];
$titreannonce=$_POST['titreannonce'];
$descriptionannonce=$_POST['descriptionannonce'];
$prix=$_POST['prix'];

$departement=$_POST['departement'];
$region=$_POST['region'];

$NOMUTILISATEURS=$_POST['NOMUTILISATEURS'];
$MAILUTILISATEURS=$_POST['MAILUTILISATEURS'];
$MDP=$_POST['MDP'];
$MDPBIS=$_POST['MDPBIS'];
$TELEPHONE=$_POST['TELEPHONE'];

$categorie = decoder($categorie);
$typeannonce = decoder($typeannonce);
$souscategorie = decoder($souscategorie);
$titreannonce = decoder($titreannonce);
$descriptionannonce = decoder($descriptionannonce);
$prix = decoder($prix);
$departement = decoder($departement);
$region = decoder($region);

$NOMUTILISATEURS = decoder($NOMUTILISATEURS);
$MAILUTILISATEURS = decoder($MAILUTILISATEURS);
$MDP = decoder($MDP);
$TELEPHONE = decoder($TELEPHONE);
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.

Eléphant du PHP | 388 Messages

05 avr. 2010, 13:32

Toujours le même problème : extension incorrect mais l'annonce s'enregistre

Mammouth du PHP | 985 Messages

05 avr. 2010, 13:42

Déplace ceci:
  // traitement


//ici on commence avec les requêtes MySQL pour vérifier dans la table

include ('connect.php');//ici on inclut le fichier avec l'accès MySQL.
$crypt=md5($MDP);

$sql = "SELECT * FROM utilisateurs WHERE MAILUTILISATEURS = '$MAILUTILISATEURS'";//On sélectionne dans la table "UTILISATEUR" le login qui a pour valeur la variable "$login"
    $req = mysql_query($sql)or die(mysql_error());  
    $result = mysql_numrows($req);// on compte le nombre de résultats

    if($result!=0)  // le login existe déjà
        {
        Parse("resultat","email '$MAILUTILISATEURS' existe deja, desole"); //alors on renvoi au Flash que le login '$MAILUTILISATEURS' existe déjà
        }
    else  //sinon le login n'existe pas  
        {
               
        $sql = "INSERT INTO utilisateurs (NOMUTILISATEURS,MAILUTILISATEURS,MDP,TELEPHONE) VALUES ('$NOMUTILISATEURS','$MAILUTILISATEURS','$crypt','$TELEPHONE')"; //Alors on insert dans la table le nouvel utilisateur        
                mysql_query ($sql);
                $NUMUTILISATEURS=mysql_insert_id();
                        $sql2 = "INSERT INTO annonces (categorie,typeannonce,souscategorie,titreannonce,descriptionannonce,prix,date,departement,region,NUMUTILISATEURS) VALUES ('$categorie','$typeannonce','$souscategorie','$titreannonce','$descriptionannonce','$prix','".date("Y-m-d H:i:s")."','$departement','$region','$NUMUTILISATEURS')";
                        $req = mysql_query($sql2)or die(mysql_error());                        
                       
        Parse("resultat","merci $MAILUTILISATEURS, vous etes a present enregistre et votre annonce est enregistré");
        }
Sous:
if ($resultat)
                                        {
[EDIT]
Ensuite tu peux supprimer de façon safe ceci:
                                                mysql_connect("aaaa", "aaaa", "aaaaaaaaaa");
                                                mysql_select_db("aaaaa");
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.

Eléphant du PHP | 388 Messages

05 avr. 2010, 14:21

j'obtient une erreur voici le code

<?php
// Fonction pour parser les variables vers FLASH 
function Parse($variable,$valeur) { 
echo "&" . $variable . "=" . utf8_encode($valeur);
}




$dossier = 'Images/';
$maxsize = '1048576';
$maxwidth = '2000';
$maxheight = '2000';


//Fontion "decoder" (facultative)
function decoder($texte){
	$texte = utf8_decode($texte);
      /*$texte = stripslashes($texte);
	$texte = trim($texte);
	$texte = htmlentities($texte, ENT_QUOTES);
	$texte = strip_tags($texte);
	$texte = nl2br($texte);
	$texte = str_replace(">", ">", $texte);
	$texte = str_replace("<", "<", $texte);*/
		
		 
        
        $texte = str_replace("%","%25",$texte); 
        $texte = str_replace("!","%21",$texte); 
        $texte = str_replace("\"","%22",$texte); 
        $texte = str_replace("#","%23",$texte); 
        $texte = str_replace("\$","%24",$texte); 
        $texte = str_replace("&","%26",$texte); 
        $texte = str_replace("'","%27",$texte); 
        $texte = str_replace("(","%28",$texte); 
        $texte = str_replace(")","%29",$texte); 
        $texte = str_replace("*","%2A",$texte); 
        $texte = str_replace("+","%2B",$texte);               
        $texte = str_replace("<","%3C",$texte); 
        $texte = str_replace("=","%3D",$texte); 
        $texte = str_replace(">","%3E",$texte); 
        $texte = str_replace("?","%3F",$texte);         
        $texte = str_replace("[","%5B",$texte); 
        $texte = str_replace("]","%5D",$texte); 
        $texte = str_replace("^","%5E",$texte);          
        $texte = str_replace("`","%60",$texte); 
        $texte = str_replace("{","%7B",$texte); 
        $texte = str_replace("|","%7C",$texte); 
        $texte = str_replace("}","%7D",$texte); 
        $texte = str_replace("~","%7E",$texte); 
        $texte = str_replace("¢","%A2",$texte); 
        $texte = str_replace("£","%A3",$texte); 
        $texte = str_replace("¥","%A5",$texte); 
        $texte = str_replace("|","%A6",$texte); 
        $texte = str_replace("§","%A7",$texte); 
        $texte = str_replace("«","%AB",$texte); 
        $texte = str_replace("¬","%AC",$texte); 
        $texte = str_replace("¯","%AD",$texte); 
        $texte = str_replace("º","%B0",$texte); 
        $texte = str_replace("±","%B1",$texte); 
        $texte = str_replace("ª","%B2",$texte);        
        $texte = str_replace("µ","%B5",$texte); 
        $texte = str_replace("»","%BB",$texte); 
        $texte = str_replace("¼","%BC",$texte); 
        $texte = str_replace("½","%BD",$texte); 
        $texte = str_replace("¿","%BF",$texte); 
	return $texte;
}	



if (!empty($_POST) && $_POST['MDP'] == $_POST['MDPBIS']){
  // traitement
$categorie=$_POST['categorie'];
$typeannonce=$_POST['typeannonce'];
$souscategorie=$_POST['souscategorie'];
$titreannonce=$_POST['titreannonce'];
$descriptionannonce=$_POST['descriptionannonce'];
$prix=$_POST['prix'];

$departement=$_POST['departement'];
$region=$_POST['region'];

$NOMUTILISATEURS=$_POST['NOMUTILISATEURS'];
$MAILUTILISATEURS=$_POST['MAILUTILISATEURS'];
$MDP=$_POST['MDP'];
$MDPBIS=$_POST['MDPBIS'];
$TELEPHONE=$_POST['TELEPHONE'];

$categorie = decoder($categorie);
$typeannonce = decoder($typeannonce);
$souscategorie = decoder($souscategorie);
$titreannonce = decoder($titreannonce);
$descriptionannonce = decoder($descriptionannonce);
$prix = decoder($prix);
$departement = decoder($departement);
$region = decoder($region);

$NOMUTILISATEURS = decoder($NOMUTILISATEURS);
$MAILUTILISATEURS = decoder($MAILUTILISATEURS);
$MDP = decoder($MDP);
$TELEPHONE = decoder($TELEPHONE);


		
	

		
		

        if ($_FILES['icone']['error'] > 0)
        {
                echo 'Erreur lors du transfert';
        }
        else
        {
                if ($_FILES['icone']['size'] > $maxsize)
                {
                        echo 'Le fichier est trop gros';
                }
                else
                {
                        $extensions_valides = array('jpg','jpeg','gif','png');
                        $extension_upload = strtolower(  substr(  strrchr($_FILES['icone']['name'], '.'),1));
                       
                        if (in_array($extension_upload,$extensions_valides))
                        {
                                $image_sizes = getimagesize($_FILES['icone']['tmp_name']);
                               
                                if (!$image_sizes[0] > $maxwidth OR $image_sizes[1] > $maxheight)
                                {
                                        echo 'Image trop grande';
                                }
                                elseif (file_exists($dossier . $_FILES['icone']['name']))
                                {
                                       echo 'Le nom de votre photo éxiste déjà merci de la renommer';
                                }
                                else
                                {
                                        $nom = "{$_FILES['icone']['name']}";
                                        $resultat = move_uploaded_file($_FILES['icone']['tmp_name'],$dossier.$nom);     if ($resultat)
										
										//ici on commence avec les requêtes MySQL pour vérifier dans la table

include ('connect.php');//ici on inclut le fichier avec l'accès MySQL.
$crypt=md5($MDP);

$sql = "SELECT * FROM utilisateurs WHERE MAILUTILISATEURS = '$MAILUTILISATEURS'";//On sélectionne dans la table "UTILISATEUR" le login qui a pour valeur la variable "$login" 
    $req = mysql_query($sql)or die(mysql_error());   
    $result = mysql_numrows($req);// on compte le nombre de résultats 

    if($result!=0)  // le login existe déjà
        { 
        Parse("resultat","email '$MAILUTILISATEURS' existe deja, desole"); //alors on renvoi au Flash que le login '$MAILUTILISATEURS' existe déjà
        } 
    else  //sinon le login n'existe pas  
        {
		
        $sql = "INSERT INTO utilisateurs (NOMUTILISATEURS,MAILUTILISATEURS,MDP,TELEPHONE) VALUES ('$NOMUTILISATEURS','$MAILUTILISATEURS','$crypt','$TELEPHONE')"; //Alors on insert dans la table le nouvel utilisateur		
		mysql_query ($sql);
		$NUMUTILISATEURS=mysql_insert_id();
			$sql2 = "INSERT INTO annonces (categorie,typeannonce,souscategorie,titreannonce,descriptionannonce,prix,date,departement,region,NUMUTILISATEURS) VALUES ('$categorie','$typeannonce','$souscategorie','$titreannonce','$descriptionannonce','$prix','".date("Y-m-d H:i:s")."','$departement','$region','$NUMUTILISATEURS')";
			$req = mysql_query($sql2)or die(mysql_error()); 			
			
  	Parse("resultat","merci $MAILUTILISATEURS, vous etes a present enregistre et votre annonce est enregistré");
        }
                                        {
                                                echo 'Transfert réussi';
                                                
                                               
                                                $nom = mysql_real_escape_string($nom);
                        $image = $dossier.$nom;
                        $description = mysql_real_escape_string($_POST['description']);
                                               
                        mysql_query("INSERT INTO images VALUES('','" . $nom . "', '" . $description. "', '" . $image . "')");
                                        }
                                        else
                                        {
                                                echo 'Echec du transfert';
                                        }
                                }
                        }
                        else
                        {
                                echo 'Extension incorect';
                        }
                }
        }		
		
} else {
  echo("Le Mot de passe est different du premier.");
}	

?>
Parse error: syntax error, unexpected T_ELSE in /homez.316/logisdesq/www/php/validationannonce.php on line 178

ViPHP
ViPHP | 5462 Messages

05 avr. 2010, 14:28

l'utilises quoi comme éditeur ?
il te manque un if quelque par genre ligne 169,
sinon ta fonction decode elle sert a rien

Mammouth du PHP | 985 Messages

05 avr. 2010, 14:33

Une chose à la fois Steal, et il ne manque pas de if, il a juste collé avant le {
  {
                                                echo 'Transfert réussi';
Déplace le { ci-dessus (plus haut) juste après:
if ($resultat)
Donc ton script actuellement devrait être comme ceci:
<?php
// Fonction pour parser les variables vers FLASH
function Parse($variable,$valeur) {
echo "&" . $variable . "=" . utf8_encode($valeur);
}

//Fontion "decoder" (facultative)
function decoder($texte){
        $texte = utf8_decode($texte);
      /*$texte = stripslashes($texte);
        $texte = trim($texte);
        $texte = htmlentities($texte, ENT_QUOTES);
        $texte = strip_tags($texte);
        $texte = nl2br($texte);
        $texte = str_replace(">", ">", $texte);
        $texte = str_replace("<", "<", $texte);*/
        $texte = str_replace("%","%25",$texte);
        $texte = str_replace("!","%21",$texte);
        $texte = str_replace("\"","%22",$texte);
        $texte = str_replace("#","%23",$texte);
        $texte = str_replace("\$","%24",$texte);
        $texte = str_replace("&","%26",$texte);
        $texte = str_replace("'","%27",$texte);
        $texte = str_replace("(","%28",$texte);
        $texte = str_replace(")","%29",$texte);
        $texte = str_replace("*","%2A",$texte);
        $texte = str_replace("+","%2B",$texte);              
        $texte = str_replace("<","%3C",$texte);
        $texte = str_replace("=","%3D",$texte);
        $texte = str_replace(">","%3E",$texte);
        $texte = str_replace("?","%3F",$texte);        
        $texte = str_replace("[","%5B",$texte);
        $texte = str_replace("]","%5D",$texte);
        $texte = str_replace("^","%5E",$texte);          
        $texte = str_replace("`","%60",$texte);
        $texte = str_replace("{","%7B",$texte);
        $texte = str_replace("|","%7C",$texte);
        $texte = str_replace("}","%7D",$texte);
        $texte = str_replace("~","%7E",$texte);
        $texte = str_replace("¢","%A2",$texte);
        $texte = str_replace("£","%A3",$texte);
        $texte = str_replace("¥","%A5",$texte);
        $texte = str_replace("|","%A6",$texte);
        $texte = str_replace("§","%A7",$texte);
        $texte = str_replace("«","%AB",$texte);
        $texte = str_replace("¬","%AC",$texte);
        $texte = str_replace("¯","%AD",$texte);
        $texte = str_replace("º","%B0",$texte);
        $texte = str_replace("±","%B1",$texte);
        $texte = str_replace("ª","%B2",$texte);        
        $texte = str_replace("µ","%B5",$texte);
        $texte = str_replace("»","%BB",$texte);
        $texte = str_replace("¼","%BC",$texte);
        $texte = str_replace("½","%BD",$texte);
        $texte = str_replace("¿","%BF",$texte);
        return $texte;
}      

if (!empty($_POST) && $_POST['MDP'] == $_POST['MDPBIS']) {

  // traitement
$categorie=$_POST['categorie'];
$typeannonce=$_POST['typeannonce'];
$souscategorie=$_POST['souscategorie'];
$titreannonce=$_POST['titreannonce'];
$descriptionannonce=$_POST['descriptionannonce'];
$prix=$_POST['prix'];

$departement=$_POST['departement'];
$region=$_POST['region'];

$NOMUTILISATEURS=$_POST['NOMUTILISATEURS'];
$MAILUTILISATEURS=$_POST['MAILUTILISATEURS'];
$MDP=$_POST['MDP'];
$MDPBIS=$_POST['MDPBIS'];
$TELEPHONE=$_POST['TELEPHONE'];

$categorie = decoder($categorie);
$typeannonce = decoder($typeannonce);
$souscategorie = decoder($souscategorie);
$titreannonce = decoder($titreannonce);
$descriptionannonce = decoder($descriptionannonce);
$prix = decoder($prix);
$departement = decoder($departement);
$region = decoder($region);

$NOMUTILISATEURS = decoder($NOMUTILISATEURS);
$MAILUTILISATEURS = decoder($MAILUTILISATEURS);
$MDP = decoder($MDP);
$TELEPHONE = decoder($TELEPHONE);

$dossier = 'Images/';
$maxsize = '1048576';
$maxwidth = '2000';
$maxheight = '2000';

        if ($_FILES['icone']['error'] > 0)
        {
                echo 'Erreur lors du transfert';
        }
        else
        {
                if ($_FILES['icone']['size'] > $maxsize)
                {
                        echo 'Le fichier est trop gros';
                }
                else
                {
                        $extensions_valides = array('jpg','jpeg','gif','png');
                        $extension_upload = strtolower(  substr(  strrchr($_FILES['icone']['name'], '.'),1));
                       
                        if (in_array($extension_upload,$extensions_valides))
                        {
                                $image_sizes = getimagesize($_FILES['icone']['tmp_name']);
                               
                                if (!$image_sizes[0] > $maxwidth OR $image_sizes[1] > $maxheight)
                                {
                                        echo 'Image trop grande';
                                }
                                elseif (file_exists($dossier . $_FILES['icone']['name']))
                                {
                                       echo 'Le nom de votre photo éxiste déjà merci de la renommer';
                                }
                                else
                                {
                                        $nom = "{$_FILES['icone']['name']}";
                                        $resultat = move_uploaded_file($_FILES['icone']['tmp_name'],$dossier.$nom);     if ($resultat) {
                                                                               
                                                                                //ici on commence avec les requêtes MySQL pour vérifier dans la table

include ('connect.php');//ici on inclut le fichier avec l'accès MySQL.
$crypt=md5($MDP);

$sql = "SELECT * FROM utilisateurs WHERE MAILUTILISATEURS = '$MAILUTILISATEURS'";//On sélectionne dans la table "UTILISATEUR" le login qui a pour valeur la variable "$login"
    $req = mysql_query($sql)or die(mysql_error());  
    $result = mysql_numrows($req);// on compte le nombre de résultats

    if($result!=0)  // le login existe déjà
        {
        Parse("resultat","email '$MAILUTILISATEURS' existe deja, desole"); //alors on renvoi au Flash que le login '$MAILUTILISATEURS' existe déjà
        }
    else  //sinon le login n'existe pas  
        {
               
        $sql = "INSERT INTO utilisateurs (NOMUTILISATEURS,MAILUTILISATEURS,MDP,TELEPHONE) VALUES ('$NOMUTILISATEURS','$MAILUTILISATEURS','$crypt','$TELEPHONE')"; //Alors on insert dans la table le nouvel utilisateur        
                mysql_query ($sql);
                $NUMUTILISATEURS=mysql_insert_id();
                        $sql2 = "INSERT INTO annonces (categorie,typeannonce,souscategorie,titreannonce,descriptionannonce,prix,date,departement,region,NUMUTILISATEURS) VALUES ('$categorie','$typeannonce','$souscategorie','$titreannonce','$descriptionannonce','$prix','".date("Y-m-d H:i:s")."','$departement','$region','$NUMUTILISATEURS')";
                        $req = mysql_query($sql2)or die(mysql_error());                        
                       
        Parse("resultat","merci $MAILUTILISATEURS, vous etes a present enregistre et votre annonce est enregistré");
        }
                                                echo 'Transfert réussi';
                                               
                                               
                                                $nom = mysql_real_escape_string($nom);
                        $image = $dossier.$nom;
                        $description = mysql_real_escape_string($_POST['description']);
                                               
                        mysql_query("INSERT INTO images VALUES('','" . $nom . "', '" . $description. "', '" . $image . "')");
                                        }
                                        else
                                        {
                                                echo 'Echec du transfert';
                                        }
                                }
                        }
                        else
                        {
                                echo 'Extension incorect';
                        }
                }
        }              
               
} 
elseif (!empty($_POST)) 
{
  echo 'Le Mot de passe est different du premier.';
}      

?>
[EDIT]
Utilise le script ci-dessus, j'en ai profité pour juste modifier le else final en elseif
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.

Eléphant du PHP | 388 Messages

05 avr. 2010, 16:07

Donc j'ai plus d'erreur mais plus rien ne fonctionne :( les enregistrement ne se font plus et en message j'ai juste extension incorrect

Meme quand je met pas de photo donc
$dossier = 'Images/';
$maxsize = '1048576';
$maxwidth = '2000';
$maxheight = '2000';

        if ($_FILES['icone']['error'] > 0)
        {
                echo 'Erreur lors du transfert';
        }
        else
        {
                if ($_FILES['icone']['size'] > $maxsize)
                {
                        echo 'Le fichier est trop gros';
                }
                else
                {
                        $extensions_valides = array('jpg','jpeg','gif','png');
                        $extension_upload = strtolower(  substr(  strrchr($_FILES['icone']['name'], '.'),1));
                       
                        if (in_array($extension_upload,$extensions_valides))
                        {
                                $image_sizes = getimagesize($_FILES['icone']['tmp_name']);
                               
                                if (!$image_sizes[0] > $maxwidth OR $image_sizes[1] > $maxheight)
                                {
                                        echo 'Image trop grande';
                                }
                                elseif (file_exists($dossier . $_FILES['icone']['name']))
                                {
                                       echo 'Le nom de votre photo éxiste déjà merci de la renommer';
                                }
                                else
                                {
                                        $nom = "{$_FILES['icone']['name']}";
                                        $resultat = move_uploaded_file($_FILES['icone']['tmp_name'],$dossier.$nom);     if ($resultat) {
ceci doit etre mal placé je pence
Modifié en dernier par spidercrash le 05 avr. 2010, 16:23, modifié 1 fois.