suivant code renvoie vers page suivant action

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 : suivant code renvoie vers page suivant action

Re: suivant code renvoie vers page suivant action

par Cyrano » 25 févr. 2010, 20:14

Bon, on progresse, c'est mieux :)

Maintenant, il faudrait que tu me dises par quelle méthode tu passes avec les listes liées : PHP, PHP+JS ou Ajax ? Sans ça, je ne peut pas être très utile.

Réfléchis bien au déroulement du code lorsqu'il est exécuté : d'abord, tu sélectionnes une région : comment est mise à jour la liste des départements ? Dois-tu cliquer sur un bouton ? Ou bien il y a un code JavaScript qui dispose déjà des informations et met automatiquement à jour la liste des départements (PHP + JS) ou bien il y a un appel Ajax vers le serveur ?

Dans le premier cas, il y a un rechargement de la page : et dans ce cas, tu peux déjà récupérer l'identifiant de la région qui te sert à remettre la région sélectionnée dans le premier formulaire pour alimenter le champ caché correspondant dans le second formulaire. Tu me suis toujours ? Si tu utilises la seconde méthode, alors c'est du JavaScript qui récupère la valeur de la région : donc tu peux ajouter une ligne de code JavaScript qui va initialiser le champ caché correspondant du second formulaire. Est-ce que tu comprends bien tout ceci ou bien c'est encore du chinois ?

Je me répète, mais la programmation, c'est, ça a toujours été, et ça restera de la logique jusqu'à la fin des temps. Si tu n'es pas fondamentalement logique, tu vas avoir énormément de difficultés pour aboutir... :-k

Re: suivant code renvoie vers page suivant action

par spidercrash » 25 févr. 2010, 19:15

donc comme tu me la dit j'ai alligner mon code et retravaillé mon php.

Voici se que sa me donne page 1
<?php

echo("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n");

/* Variables de connexion : ajustez ces paramètres selon votre propre environnement */

$serveur = "aaa";

$admin   = "laaa";

$mdp     = "aaa";

$base    = "aaa";

/* On récupère si elle existe la valeur de la région envoyée par le formulaire */

$idr = isset($_POST['region'])?$_POST['region']:null;

?>



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
		<head> 
			<title>petite annonce gratuite pour particulier encart publicitaire pour profesionnel - mon espace</title>
				<meta http-equiv="Content-Type" content="text/html";
				charset=iso-8859-1" />
				<link rel="stylesheet" media="screen" type="text/css"
				title="Design espace" href="css/ajoutannonce_style.css" />
		</head>
<body>

	<div id="annonce"></div>
	

	<div id="entete">
 
	</div>

	<div id="corps">
 
		<img src="contenu/logisdesannonces.png" alt="logisdesannonces" class="logisdesannonces" />
		<img src="contenu/logo.png" alt="logo" class="logo" />
	<div id="bouton">		
		<a href="divers.html"><img src="contenu/divers.png" alt="divers" class="divers" border="0"/></a>
		<a href="vehicule.html"><img src="contenu/vehicule.png" alt="vehicule" class="vehicule" border="0"/></a>
		<a href="hightech.html"><img src="contenu/high-tech.png" alt="hightech" class="hightech" border="0"/></a>
		<a href="immobilier.html"><img src="contenu/immobilier.png" alt="immobilier" class="immobilier" border="0"/></a>
		<a href="animaux.html"><img src="contenu/animaux.png" alt="animaux" class="animaux" border="0"/></a>
		<a href="espacepro.html"><img src="contenu/boutonpro.png" alt="bouton" class="bouton" border="0"/></a>
	</div>	
		<a href="http://www.logisdesannonces.fr/accueil.html"><img src="contenu/bouton_accueil.png" alt="accueil" class="accueil" border="0"/></a>

	</div>
	<div id="formulaire">
			Votre département :<br />
<?php

	/* On établit la connexion à MySQL avec mysql_pconnect() plutôt qu'avec mysql_connect()

	*  car on aura besoin de la connexion un peu plus loin dans le script */

	$connexion = mysql_pconnect($serveur, $admin, $mdp);

	if($connexion != false)

	{

		$choixbase = mysql_select_db($base, $connexion);

		$sql1 = "SELECT `id_region`, `region`".

		" FROM `region`".

		" ORDER BY `id_region`";
	
		$rech_regions = mysql_query($sql1);

		$code_region = array();

		$region = array();

		/* On active un compteur pour les régions */

		$nb_regions = 0;

		if($rech_regions != false)

			{

				while($ligne = mysql_fetch_assoc($rech_regions))

				{

					array_push($code_region, $ligne['id_region']);

					array_push($region, $ligne['region']);



					/* On incrémente de compteur */

					$nb_regions++;

				}

			}

?>

	<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgdept">
		<select name="region" id="region" onchange="document.forms['chgdept'].submit();">


		<option value="-1">- - - Choisissez une région - - -</option>

<?php

    for($i = 0; $i < $nb_regions; $i++)

    {

?>

		<option value="<?php echo($code_region[$i]); ?>"<?php echo((isset($idr) && $idr == $code_region[$i])?" selected=\"selected\"":null); ?>><?php echo($region[$i]); ?></option>

<?php

    }

?>

		</select>

    
	</form>
<br />
	<form id="ok" method="post" action="php/validationannonce.php">

<?php

    mysql_free_result($rech_regions);

    /* On commence par vérifier si on a envoyé un numéro de région et le cas échéant s'il est différent de -1 */



    if(isset($idr) && $idr != -1)

    {

        /* Cération de la requête pour avoir les départements de cette région */

        $sql2 = "SELECT `id_departement`, `departement`".

        " FROM `departement`".

        " WHERE `id_region` = ". $idr ."".

        " ORDER BY `id_departement`;";

        if($connexion != false)

        {

            $rech_dept = mysql_query($sql2, $connexion);

            /* Un petit compteur pour les départements */

            $nd = 0;

            /* On crée deux tableaux pour les numéros et les noms des départements */

            $code_dept = array();

            $nom_dept = array();

            /* On va mettre les numéros et noms des départements dans les deux tableaux */

            while($ligne_dept = mysql_fetch_assoc($rech_dept))

            {

                array_push($code_dept, $ligne_dept['id_departement']);

                array_push($nom_dept, $ligne_dept['departement']);

                $nd++;

            }

            /* Maintenant on peut construire la liste déroulante */

            ?>


Votre région :<br />
<select name="departement" id="departement">

            <?php  

            for($d = 0; $d<$nd; $d++)

            {

                ?>

  <option value="<?php echo($code_dept[$d]); ?>"<?php echo((isset($dept_selectionne) && $dept_selectionne == $code_dept[$d])?" selected=\"selected\"":null); ?>><?php echo($nom_dept[$d]." (". $code_dept[$d] .")"); ?></option>

                <?php

            }

?>

</select>

<?php

        }

        /* Un petit coup de balai */

        mysql_free_result($rech_dept);

    }

?>
<br />

		<label for="NOMUTILISATEURS">Nom:</label><br />
			<input type="text" name="NOMUTILISATEURS" id="NOMUTILISATEURS" size="20" /><br />
		<label for="MAILUTILISATEURS">Email:</label><br />
			<input type="text" name="MAILUTILISATEURS" id="MAILUTILISATEURS" size="20" /><br />
		<label for="TELEPHONE">Téléphone:</label><br />
			<input type="text" name="TELEPHONE" id="TELEPHONE" size="20" /><br />
				<span>Vous n'étes pas obliger de le mentionner.</span><br /><br />
		
		<label for="typeannonce">Type d'annonce:</label><br />		
			<label>
					<input type="radio" name="typeannonce" value="vends" />Je vends
				</label>
				<label>
					<input type="radio" name="typeannonce" value="donne" />Je donne
				</label>
				<label>
					<input type="radio" name="typeannonce" value="troc" />Je troc
				</label>
				<br /><br />
				
			<label for="categorie">Sélectionner une catégorie:</label><br />
				<select name="categorie" id="categorie">
					<option value="0">Votre catégorie</option>
					<option value="divers">Divers</option>
					<option value="vehicules">Véhicules</option>
					<option value="immobilier">Immobilier</option>
					<option value="high-tech">High-Tech</option>
					<option value="animaux">Animaux</option>
			</select>	
			
			<br /><br />
			<label for="souscategorie">Sélectionner un sous catégorie:</label><br />
				<select name="souscategorie" id="souscategorie">
					<optgroup label="DIVERS">
						<option value="select">Votre sous-catégorie</option>
						<option value="antiquite-art">Antiquité-Art</option>
						<option value="bricolage-jardin-chauffage">Bricolage-Jardin-Chauffage</option>
						<option value="meuble-decoration">Meuble-Décoration</option>
						<option value="vetements">Vêtements</option>
						<option value="puericulture">Puériculture</option>
						<option value="livres">Livres</option>
						<option value="loisir">Loisir</option>
						<option value="collections">Collections</option>
						<option value="musique">Musique</option>
						<option value="jeux-jouets">Jeux-Jouets</option>
						<option value="sport">Sport</option>
					</optgroup>
					<optgroup label="VEHICULES">
						<option value="voiture">Voiture</option>
						<option value="moto-scooter">Moto-Scooter</option>
						<option value="camping-car">Camping car</option>
						<option value="caravane">Caravane</option>
						<option value="utilitaire">Utilitaire</option>
						<option value="bateau-nautisme">Bateau-Nautisme</option>
						<option value="pieces-accessoire auto">Piéces-Accessoire auto</option>
						<option value="pieces-accessoire moto">Piéces-Acessoire moto</option>
						<option value="pieces-accessoire nautisme">Piéces-Accessoire nautisme</option>
						<option value="pieces-accessoire camping car">Piéces-Accessoire camping car</option>				
					</optgroup>
					<optgroup label="IMMOBILIER">
						<option value="location">Location</option>
						<option value="location saisonniere">Location saisonnère</option>
						<option value="vente maison">Vente Maison</option>
						<option value="vente appartement">Vente appartement</option>
						<option value="vente propriete">Vente propriété</option>
						<option value="vente hotel particulier">Vente hotel particulier</option>
						<option value="vente garage">Vente garage</option>
						<option value="immeuble">Immeuble</option>
						<option value="vente constructeur">Vente constructeur</option>
						<option value="investisseur">Investisseur</option>
						<option value="renovation">Rénovation</option>
						<option value="etang">Etang</option>
						<option value="corps de ferme">Corps de ferme</option>				
					</optgroup>
					<optgroup label="HIGH-TECH">
						<option value="hifi-photo-video">Hifi-Photo-Video</option>
						<option value="informatique">Informatique</option>
						<option value="jeux video">Jeux video</option>
						<option value="musique-film">Musique-Film</option>
						<option value="telephonie">Téléphonie</option>
						<option value="autre">Autre</option>								
					</optgroup>
					<optgroup label="ANIMAUX">
						<option value="achat-vente">Achat-Vente</option>
						<option value="adoption-don">Adoption-Don</option>
						<option value="services">Services</option>
						<option value="accessoires">Accessoires</option>												
					</optgroup>
				</select>
		<br />
		<label for="titreannonce">Titre de l'annonce:</label><br />
			<input type="titreannonce" name="titreannonce" id="titreannonce" size="20" /><br />
				<span>Décriver précisement en quelques mots le titre de votre annonces</span><br /><br />
		<label for="descriptionannonce">Description de l'annonce :</label><br />
			<textarea name="descriptionannonce" id="descriptionannonce" rows="5" cols="30"></textarea><br />
		<label for="prix">Prix:</label><br />
			<input type="prix" name="prix" id="prix" size="10" /><br />

<?php
	echo '<input type="hidden" name="region" id="region" value="'.$idr.'"/>'; // Renverra le NUMERO de région
	
?>



<input type="submit" name="ok" id="ok" value="envoyer" />

</form>





<?php

    /* Terminé, on ferme la connexion */

    mysql_close($connexion);

}

else

{

    /* Si on arrive là, c'est pas bon signe, il faut vérifier les

    * paramètres de connexion, mot de passe, serveur pas démarré etc... */


}

?>
<br /><br /><br /><br /><br /><br />




</div>
<div id="fondlogin">

</div>
<div id="login">VOUS ÊTES INSCRIT ?

	<div id="formlogin">
		Espace résérvé au particulier<br />
	</div>
	<div id="form">
		<form method="post" action="../php/login.php">
 	
		<label for="MAILUTILISATEURS">Email:</label><br />
			<input type="text" name="MAILUTILISATEURS" id="MAILUTILISATEURS" size="20" /><br />
		<label for="MDP">Mot de passe:</label><br />
			<input type="password" name="MDP" id="MDP" size="20" /><br /><br />
				<input type="submit" value="Valider" />	
		</form>		
	</div>
	<div id="mpsoublie">
		<a href="renouvellementmps.html""style=color:white;">Mot de passe oublié ?</a>
	</div>

</div>
<div id="pied_de_page">
 <div id="boutonbas">
	<a href="information.html"><img src="contenu/information.png" alt="information" class="information" border="0"/></a>
	<a href="contact.html"><img src="contenu/contact.png" alt="contact" class="contact" border="0"/></a>
	<a href="newsletters.html"><img src="contenu/newsletters.png" alt="newsletters" class="newsletters" border="0"/></a>
	<a href="offre.html"><img src="contenu/offre.png" alt="offre" class="offre" border="0"/></a>
	<a href="aide.html"><img src="contenu/aide.png" alt="aide" class="aide" border="0"/></a>

</div>
</div>

</body>

</html>

Page PHP
<?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'];
$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("è","%E8",$texte);	
	$texte = str_replace("é","%E9",$texte);	 
        $texte = str_replace("è","%EA",$texte);
        $texte = str_replace("ç","%E7",$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(",","%2C",$texte); 
         
        
        $texte = str_replace("/","%2F",$texte); 
        $texte = str_replace(":","%3A",$texte); 
        $texte = str_replace(";","%3B",$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(",","%B4",$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);
$TELEPHONE = decoder($TELEPHONE);


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

$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,TELEPHONE) VALUES ('$NOMUTILISATEURS','$MAILUTILISATEURS','$TELEPHONE')"; //Alors on insert dans la table le nouvel utilisateur		
		mysql_query ($sql);
			$sql2 = "INSERT INTO annonces (categorie,typeannonce,souscategorie,titreannonce,descriptionannonce,prix,departement,region) VALUES ('$categorie','$typeannonce','$souscategorie','$titreannonce','$descriptionannonce','$prix','$departement','$region')";
			$req = mysql_query($sql2)or die(mysql_error()); 			
			
  	Parse("resultat","merci $MAILUTILISATEURS, vous etes a present enregistre et votre annonce est enregistré");
        }
		
		
		
		

?>
A savoir que je souhaite recuperer le nom de la region sélectionné ainssi que le nom du département en ajoutant cela ( voir ci dessous ) dans ma premiere page je recupere ID de la region mais moi je souhaite le nom.
<?php
	echo '<input type="hidden" name="region" id="region" value="'.$idr.'"/>'; // Renverra le NUMERO de région
	
?>

En esperant etre plus claire dans mes explications ainsi que dans mon code.

Re: suivant code renvoie vers page suivant action

par Cyrano » 24 févr. 2010, 23:15

Quand je vois ce genre de code, j'ai juste envie de me barrer à la course... et je constate également que tu écoutes ce que tu as bien envie d'entendre....
Être un débutant n'est pas un défaut, très loin de là, et ceux qui sur ce forums sont disposés à les aider en partageant leur expérience et leur savoir apprécient ceux d'entre eux qui sont attentifs.

Là, je ne sais pas où tu as pioché cette syntaxe, mais à priori dans un vieux bouquin qu'on t'a donné ou encore acheté 1€ dans un bac de vieilleries sur le trottoir devant chez un libraire : la dernière version stable de PHP actuellement est la 5.3.xx, or ton code, c'est du PHP 4. Jette-moi donc ce bouquin et trouves-en un plus récent, on gagnera du temps ;)

-1- Les short_open_tag sont à éviter pour ne pas dire à bannir : donc on écrit « <?php » et pas juste « <? »;
-2- $HTTP_POST_VARS est complètement obsolète et doit être remplacé par $_POST

Corrige et aligne ton code pour commencer, sois discipliné si tu veux aboutir, ce sera moins pénible pour tout le monde, y compris pour toi.
Ensuite, lis convenablement les questions que je te pose et ne saute pas les étapes : je ne t'ai pas parlé des insertions dans les tables de ta base, je t'ai mentionné les variables du premier formulaire vers les champs cachés du second formulaire.

Re: suivant code renvoie vers page suivant action

par spidercrash » 24 févr. 2010, 22:36

je recupere les donnée par un autre fichier PHP
voici le contenu de celui-ci
<?
// Fonction pour parser les variables vers FLASH 
function Parse($variable,$valeur) { 
echo "&" . $variable . "=" . utf8_encode($valeur);
}

$categorie=$HTTP_POST_VARS['categorie']; 
$typeannonce=$HTTP_POST_VARS['typeannonce'];
$souscategorie=$HTTP_POST_VARS['souscategorie'];
$titreannonce=$HTTP_POST_VARS['titreannonce'];
$descriptionannonce=$HTTP_POST_VARS['descriptionannonce'];
$prix=$HTTP_POST_VARS['prix'];
$departement=$HTTP_POST_VARS['departement'];
$region=$HTTP_POST_VARS['region'];

$NOMUTILISATEURS=$HTTP_POST_VARS['NOMUTILISATEURS'];
$MAILUTILISATEURS=$HTTP_POST_VARS['MAILUTILISATEURS'];
$TELEPHONE=$HTTP_POST_VARS['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("è","%E8",$texte);	
	$texte = str_replace("é","%E9",$texte);	 
        $texte = str_replace("è","%EA",$texte);
        $texte = str_replace("ç","%E7",$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(",","%2C",$texte); 
         
        
        $texte = str_replace("/","%2F",$texte); 
        $texte = str_replace(":","%3A",$texte); 
        $texte = str_replace(";","%3B",$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(",","%B4",$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);
$TELEPHONE = decoder($TELEPHONE);


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

$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,TELEPHONE) VALUES ('$NOMUTILISATEURS','$MAILUTILISATEURS','$TELEPHONE')"; //Alors on insert dans la table le nouvel utilisateur		
		mysql_query ($sql);
			$sql2 = "INSERT INTO annonces (categorie,typeannonce,souscategorie,titreannonce,descriptionannonce,prix,departement,region) VALUES ('$categorie','$typeannonce','$souscategorie','$titreannonce','$descriptionannonce','$prix','$departement','$region')";
			$req = mysql_query($sql2)or die(mysql_error()); 			
			
  	Parse("resultat","merci $MAILUTILISATEURS, vous etes a present enregistre et votre annonce est enregistré");
        }
		
		
		
		

?>

Lorsque je rempli les champs et je valide le formulaire

Les donnée se place bien dans les bonne tables cepedant dans la table annonces qui comprend les deux formulaires les champs departement et region reste vide.

Re: suivant code renvoie vers page suivant action

par Cyrano » 24 févr. 2010, 21:56

"...mais ça ne marche pas..." sans autres précision, c'est un vieux classique qu'on connait tous ici et qui énerve : comment veux-tu qu'on sache pourquoi ça ne fonctionne pas sans les éléments appropriés ? Ok, tu as rajouté les champs cachés, mais as-tu vérifié si les valeurs sont convenablement mises dans ces balises ?

Lorsque tu as fait les choix dans le premier formulaire, de quelle manière les valeurs sont-elles ajoutées dans le second formulaire ? Est-ce qu'il y a rechargement de page ? Si oui, as-tu créé le code approprié pour initialiser les variables de tes deux champs cachés ? Sinon, utilises-tu du JavaScript et dans ce cas quel code ?

Tes questions sont incomplètes parce que tu ne pousses pas les raisonnement à fond : personne ne le fera à ta place, sais-tu ? On peut te montrer le chemin, mais si tu ne marches pas, tu n'avanceras pas davantage ;)

Re: suivant code renvoie vers page suivant action

par spidercrash » 24 févr. 2010, 21:44

voici se que j'ai placé dans mon code pour emporter les deux formulaire mais cela ne marche pas
<?php
	echo '<input type="hidden" name="departement" id="departement" value="'.$departement.'"/>
	<input type="hidden" name="region" id="region" value="'.$region.'"/>';
?>

Re: suivant code renvoie vers page suivant action

par spidercrash » 20 févr. 2010, 19:57

... pour les champs caché j'utiliserai hidden mais je ne peut pas faire comme cela

<input type="hidden" name="region" id="region" value="$region"/>
<input type="hidden" name="département" id="département" value="$departement"/>
Et pourquoi tu ne pourrais pas ? Sois clair et précis dans tes questions, on ne peut pas tout deviner. N'oublie pas que je ne vois pas ce que tu fais, pas ta machine et pas le code sur lequel tu es en ce moment. Je ne peux donc me baser que sur ce que tu dis ici et pour l'instant, il manque des morceaux...:-k
donc admettons dans mon formulaire html je fait comme cela

Code : Tout sélectionner

<form method="post" action="php/contact.php"> <label for="nom">Nom:</label><br /> <input type="text" name="nom" id="nom" size="20" /><br /> <label for="nom">Email:</label><br /> <input type="text" name="email" id="email" size="20" /><br /> <label for="telephone">Téléphone:</label><br /> <input type="text" name="telephone" id="telephone" size="20" /><br /> <span>Vous n'étes pas obliger de le mentionner.</span><br /><br /> <label for="nom">Catégorie:</label><br /> <input type="text" name="nom" id="nom" size="20" /><br /> <span>Le choix de la catégorie est trés importante pour <br /> la disposition de votre annonce</span><br /><br /> <label for="typeannonce">Type d'annonce:</label><br /> ... <?php <input type="hidden" name="region" id="region" value="$region"/> <input type="hidden" name="département" id="département" value="$departement"/> ?> <input type="submit" name="ok" id="ok" value="envoyer" />
Donc aprés dans ma page contact.php
je pourrai recuperer les champs de mon formulaire ainsi que département et région ?

j'espere que tu voit se que je souhaite faire.
Car aprés dans mon php une fois que j'ai récupérer tous les champs contact.php renvoie vers une base de donnée toute les informations

encore merci de te aide

Re: suivant code renvoie vers page suivant action

par Cyrano » 20 févr. 2010, 19:47

... pour les champs caché j'utiliserai hidden mais je ne peut pas faire comme cela

<input type="hidden" name="region" id="region" value="$region"/>
<input type="hidden" name="département" id="département" value="$departement"/>
Et pourquoi tu ne pourrais pas ? Sois clair et précis dans tes questions, on ne peut pas tout deviner. N'oublie pas que je ne vois pas ce que tu fais, pas ta machine et pas le code sur lequel tu es en ce moment. Je ne peux donc me baser que sur ce que tu dis ici et pour l'instant, il manque des morceaux...:-k

Re: suivant code renvoie vers page suivant action

par spidercrash » 20 févr. 2010, 19:39

Quelle méthode avec le premier formulaire : PHP, PHP+JS ou Ajax ?
Ensuite, comment récupères-tu les valeurs du premier formulaire ? Partant de là, ne vois-tu pas comment créer deux champs cachés dans le second formulaire avec ces valeurs ?
pour récupérer le formulaire deux j'utilise le php d'ou la page contact.php par contre je ne voit pas comment crée deux champs cacher qui récupèrerai région et département.

pour les champs caché j'utiliserai hidden mais je ne peut pas faire comme cela

<input type="hidden" name="region" id="region" value="$region"/>
<input type="hidden" name="département" id="département" value="$departement"/>

Re: suivant code renvoie vers page suivant action

par Cyrano » 20 févr. 2010, 19:15

Quelle méthode avec le premier formulaire : PHP, PHP+JS ou Ajax ?
Ensuite, comment récupères-tu les valeurs du premier formulaire ? Partant de là, ne vois-tu pas comment créer deux champs cachés dans le second formulaire avec ces valeurs ?

Re: suivant code renvoie vers page suivant action

par spidercrash » 20 févr. 2010, 19:05

oui cela est logique faudrait faire qu'un seul formulaire mais j'ai deja essayer le probléme dans le premier formulaire il y a cela :
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgdept"> ?

cela veut dire que si je supprimer ceci de mon formulaire 2
<form method="post" action="php/contact.php">

fraudai que je reprise le liens contact.php dans la balise d'ouverture du formulaire n'est ce pas ?

mais je ne voit pas comment rajouter action="php/contact.php"

Re: suivant code renvoie vers page suivant action

par Cyrano » 20 févr. 2010, 13:55

Bien, on avance, et tu as identifié un problème majeur : comment le résoudre ?

Les formulaires sont «étanches» entre eux. Les données de l'un ne seront pas envoyées si c'est un autre qui est utilisé. La conclusion logique serait donc laquelle à ton avis ? Il y a deux possibilités : soit tu n'as qu'un unique formulaire, soit tu en as deux mais les données du premier doivent être présentes dans le second. Et j'ajouterais que ça signifie également que le second ne s'affiche que si des valeurs ont été sélectionnées dans le premier.

Continue ton raisonnement, tu es à mon avis sur la voie de la solution ;)

Re: suivant code renvoie vers page suivant action

par spidercrash » 20 févr. 2010, 12:26

j'ai bien fermé le formulaire avant que le second formulaire s'ouvre et la j'ai bien ma seconde page qui s'ouvre lorsque je valide.

Cependant la partie région et departement ne sera pas dans l'action du bouton envoyé dur formualaire qui comprend les champs de saisie ?.

Donc dans ma page php qui suis je ne pourrai pas récuperer les valeurs ?

Re: suivant code renvoie vers page suivant action

par Cyrano » 20 févr. 2010, 12:20

C'est ça.
En HTML, il est interdit d'imbriquer les formulaires. Par Ailleurs, la balise <form> doit obligatoirement être assortie d'une balise de fermeture </form> AVANT l'éventuelle ouverture d'un autre formulaire.

Re: suivant code renvoie vers page suivant action

par spidercrash » 20 févr. 2010, 12:17

merci pour ta reponse cependant tu me dit que j'ai pas fermer mon formulaire.
tu parle de pour cette ligne

<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgdept"> ?

car par la suite j'ai un formulaire HTML
qui lui a les balise fermé.

<form method="post" action="php/contact.php">>


		<label for="nom">Nom:</label><br />
		<input type="text" name="nom" id="nom" size="20" /><br />
		<label for="nom">Email:</label><br />
		<input type="text" name="email" id="email" size="20" /><br />
		<label for="telephone">Téléphone:</label><br />
		<input type="text" name="telephone" id="telephone" size="20" /><br />
		<span>Vous n'étes pas obliger de le mentionner.</span><br /><br />
		<label for="nom">Catégorie:</label><br />
		<input type="text" name="nom" id="nom" size="20" /><br />
		<span>Le choix de la catégorie est trés importante pour <br />
		la disposition de votre annonce</span><br /><br />
		<label for="typeannonce">Type d'annonce:</label><br />		
		<label>
				<input type="radio" name="typeannonces" value="vends" />Je vends
			</label>
			<label>
				<input type="radio" name="typeannonce" value="donne" />Je donne
			</label>
			<br /><br />
			
			<select name="categorie" id="categorie">
			<optgroup label="DIVERS">
				<option value="select">Sélectionner une sous-catégorie</option>
				<option value="antiquite-art">Antiquité-Art</option>
				<option value="bricolage-jardin-chauffage">Bricolage-Jardin-Chauffage</option>
				<option value="meuble-decoration">Meuble-Décoration</option>
				<option value="vetements">Vêtements</option>
				<option value="puericulture">Puériculture</option>
				<option value="livres">Livres</option>
				<option value="loisir">Loisir</option>
				<option value="collections">Collections</option>
				<option value="musique">Musique</option>
				<option value="jeux-jouets">Jeux-Jouets</option>
				<option value="sport">Sport</option>
			</optgroup>
			<optgroup label="VEHICULES">
				<option value="voiture">Voiture</option>
				<option value="moto-scooter">Moto-Scooter</option>
				<option value="camping-car">Camping car</option>
				<option value="caravane">Caravane</option>
				<option value="utilitaire">Utilitaire</option>
				<option value="bateau-nautisme">Bateau-Nautisme</option>
				<option value="pieces-accessoire auto">Piéces-Accessoire auto</option>
				<option value="pieces-accessoire moto">Piéces-Acessoire moto</option>
				<option value="pieces-accessoire nautisme">Piéces-Accessoire nautisme</option>
				<option value="pieces-accessoire camping car">Piéces-Accessoire camping car</option>				
			</optgroup>
			<optgroup label="IMMOBILIER">
				<option value="location">Location</option>
				<option value="location saisonniere">Location saisonnère</option>
				<option value="vente maison">Vente Maison</option>
				<option value="vente appartement">Vente appartement</option>
				<option value="vente propriete">Vente propriété</option>
				<option value="vente hotel particulier">Vente hotel particulier</option>
				<option value="vente garage">Vente garage</option>
				<option value="immeuble">Immeuble</option>
				<option value="vente constructeur">Vente constructeur</option>
				<option value="investisseur">Investisseur</option>
				<option value="renovation">Rénovation</option>
				<option value="etang">Etang</option>
				<option value="corps de ferme">Corps de ferme</option>				
			</optgroup>
			<optgroup label="HIGH-TECH">
				<option value="hifi-photo-video">Hifi-Photo-Video</option>
				<option value="informatique">Informatique</option>
				<option value="jeux video">Jeux video</option>
				<option value="musique-film">Musique-Film</option>
				<option value="telephonie">Téléphonie</option>
				<option value="autre">Autre</option>								
			</optgroup>
			<optgroup label="ANIMAUX">
				<option value="achat-vente">Achat-Vente</option>
				<option value="adoption-don">Adoption-Don</option>
				<option value="services">Services</option>
				<option value="accessoires">Accessoires</option>												
			</optgroup>
						</select>
		<br />
		<label for="titreannonce">Titre de l'annonce:</label><br />
		<input type="titreannonce" name="titreannonce" id="titreannonce" size="20" /><br />
		<span>Décriver précisement en quelques mots le titre de votre annonces</span><br /><br />
		<label for="description">Description de l'annonce :</label><br />
		<textarea name="description" id="description" rows="5" cols="30"></textarea><br />
		<label for="prix">Prix:</label><br />
		<input type="prix" name="prix" id="prix" size="10" /><br />


<input type="submit" name="ok" id="ok" value="envoyer" />

</form>

Je suis désolé je débute merci de ton aide