Récupération de variable dans un Formulaire

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 : Récupération de variable dans un Formulaire

par mere-teresa » 27 nov. 2006, 18:36

Tu as modifié le bon fichier ?

par dunbar » 27 nov. 2006, 04:12

J'y pense,
Avec mon code tu ne peux pas avoir cette erreur, c'est impossible !

Tu n'as rien fait !
Non rien mais je viens de remarquer que mon éditeur déconne car même après avoir placer tes indicateur d'erreur il me donnais encore la même erreur

alors que c'étais impossible mais je regarde cela.
Warning: mysqli_error() expects exactly 1 parameter, 0 given in E:wampwwwimmoimmocreateAnnonce.php on line 56 
Impossible de se connecter à la base(2) : 
Et là cela devient bizarre puisque j'ai remplacer mes message par les tiens.

par dunbar » 27 nov. 2006, 04:08

Tu vas modifier toutes lees lignes qui reçoivent le test SQL
comme
$res = mysqli_query($connection, $req) or die("Impossible de se connecter à la base(1) : ".mysqli_error());
par
$res = mysqli_query($connection, $req) or die("ERR SQL :<br/>" . $req . "<br />".mysqli_error());
le nv message

INSERT INTO directory (name) VALUES ('clients/')
Warning: mysqli_error() expects exactly 1 parameter, 0 given in /home/www/173f6119d76c3441a623b307e692cea9/web/test/immo/immo/createAnnonce.php on line 42
ERR SQL :
INSERT INTO directory (name) VALUES ('clients/')

par Ajoloca » 27 nov. 2006, 03:59

J'y pense,
Avec mon code tu ne peux pas avoir cette erreur, c'est impossible !

Tu n'as rien fait !

par Ajoloca » 27 nov. 2006, 03:54

Tu vas modifier toutes lees lignes qui reçoivent le test SQL
comme
$res = mysqli_query($connection, $req) or die("Impossible de se connecter à la base(1) : ".mysqli_error());
par
$res = mysqli_query($connection, $req) or die("ERR SQL :<br/>" . $req . "<br />".mysqli_error());

par dunbar » 27 nov. 2006, 03:50

C'est tout ?

Rien après le 'in' ???
Warning: mysqli_error() expects exactly 1 parameter, 0 given in E:\wamp\www\immo\immo\createAnnonce.php on line 56
Impossible de se connecter à la base(2) : 
et le ligne 56 est celle-ci
$tmp_file = $_FILES['$name']['tmp_name'];
Merci

par Ajoloca » 27 nov. 2006, 03:46

C'est tout ?

Rien après le 'in' ???

par dunbar » 27 nov. 2006, 03:44

Quel est le message ?
Warning: mysqli_error() expects exactly 1 parameter, 0 given in 

par Ajoloca » 27 nov. 2006, 03:43

Quel est le message ?

par dunbar » 27 nov. 2006, 03:40

Moi je n'ai fait que la partie qui plante, j'ai pas regardé le reste.

Remplace ton code par celui-ci (n'oublie pas de faire une copie avant)
//==========================================================
//
//         Connexion à la base
//===========================================================


        	$connection = mysqli_connect("") or die(mysqli_error());
        	mysqli_select_db($connection, "");
        	$folder_path = 'clients/'.$id;
        	if(!is_dir($folder_path)){
        		if(!@mkdir($folder_path, $rights)){
            	echo("Impossible de créer le dossier "$folder_path".");
            	exit(0);
        		}
        	}
        echo $req = "INSERT INTO directory (name) VALUES ('".$folder_path."')";
        $res = mysqli_query($connection, $req) or die("Impossible de se connecter à la base(1) : ".mysqli_error());
        $id = mysqli_insert_id($connection);
        echo $req = "INSERT INTO annonce (id_directory, type, prix, codepostal, nb_chambre, nb_garage, nb_file) VALUES ('".$id."', '".$type."', '".
        $prix."', '".$codepostal."', '".$chambres."', '".$garages."', '".$photo."');";
        $res = mysqli_query($connection, $req) or die("Impossible d'inserer un nouvel enreg : ".mysqli_error());
Merci pour cette correction mais cela ne change rien

Mais merci quand même

par Ajoloca » 27 nov. 2006, 03:34

Moi je n'ai fait que la partie qui plante, j'ai pas regardé le reste.

Remplace ton code par celui-ci (n'oublie pas de faire une copie avant)
//==========================================================
//
//         Connexion à la base
//===========================================================


        	$connection = mysqli_connect("") or die(mysqli_error());
        	mysqli_select_db($connection, "");
        	$folder_path = 'clients/'.$id;
        	if(!is_dir($folder_path)){
        		if(!@mkdir($folder_path, $rights)){
            	echo("Impossible de créer le dossier \"$folder_path\".");
            	exit(0);
        		}
        	}
        echo $req = "INSERT INTO directory (name) VALUES ('".$folder_path."')";
        $res = mysqli_query($connection, $req) or die("Impossible de se connecter à la base(1) : ".mysqli_error());
        $id = mysqli_insert_id($connection);
        echo $req = "INSERT INTO annonce (id_directory, type, prix, codepostal, nb_chambre, nb_garage, nb_file) VALUES ('".$id."', '".$type."', '".
        $prix."', '".$codepostal."', '".$chambres."', '".$garages."', '".$photo."');";
        $res = mysqli_query($connection, $req) or die("Impossible d'inserer un nouvel enreg : ".mysqli_error());

par DocType » 27 nov. 2006, 03:26

Essaie de corriger ton code jusqu'au bout au moins...
 // on copie le fichier dans le dossier de destination 
                $name_file = $_FILES['$name']['name']; 

                if( !move_uploaded_file($tmp_file, $folder_path . $name_file) ) 
                { 
                    echo("Impossible de copier le fichier dans $content_dir"); 

par dunbar » 27 nov. 2006, 03:19

Poste ton code actuel
Voici
function corps() {
	if ($_GET['action'] == 'add') {
		$rights = "0777";
		$type = $_POST['type'];
		$prix = $_POST['prix'];
		$codepostal = $_POST['codepostal'];
		$chambres = $_POST['chambre'];
		$garages = $_POST['garage'];
		$photo = $_POST['photo'];
//==========================================================
//
//         Connexion à la base
//===========================================================


		$connection = mysqli_connect("") or die(mysqli_error());
		mysqli_select_db($connection, "");

		$req = "select max(id_annonce) from annonce;";
        $res = mysqli_query($connection, $req) or die(mysqli_error());
        $id = 0;
        while ($row = mysqli_fetch_row($res)){
            $id = $row[0]++;
        }
        if ($id == null){
            $id = 0;
        }

		$folder_path = 'clients/'.$id;
		if(!@mkdir($folder_path, $rights)){
			echo("Impossible de créer le dossier "$folder_path".");
			exit(0);
		}

		echo $req = "INSERT INTO directory (name) VALUES ('".$folder_path."')";
        $res = mysqli_query($connection, $req) or die("Impossible de se connecter à la base(1) : ".mysqli_error());
        echo $req = "INSERT INTO annonce (id_directory, type, prix, codepostal, nb_chambre, nb_garage, nb_file) VALUES ('".$id."', '".$type."', '".
        $prix."', '".$codepostal."', '".$chambres."', '".$garages."', '".$photo."');";
        $res = mysqli_query($connection, $req) or die("Impossible de se connecter à la base(2) : ".mysqli_error());

		if ($photo > 0){
			$i = 0;
			while ($i < $photo){
				$i++;
				$name = 'file'.$i;
				$tmp_file = $_FILES['$name']['tmp_name'];

				if( !is_uploaded_file($tmp_file) )
				{
					echo("Le fichier est introuvable");
					exit(0);
				}

				// on vérifie maintenant l'extension
				$type_file = $_FILES['$name']['type'];

				if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') )
				{
					echo("Le fichier n'est pas une image");
					exit(0);
				}

				// on copie le fichier dans le dossier de destination
				$name_file = $_FILES['$name']['name'];

				if( !move_uploaded_file($tmp_file, $folder_path . $name_file) )
				{
					echo("Impossible de copier le fichier dans $content_dir");
					exit(0);
				}
				$req = "insert into file (id_directory, name) values ('".$id."', '".$name_file."');";
				$res = mysqli_query($connection, $req) or die(mysqli_error());
			}
		}
	}
	echo '<form action="createAnnonce.php?action=add" method="post" enctype="multipart/form-data" ><center>&nbsp;</p>';
	echo '<table border=0 cellspacing=10><tr><td class="corps">Type de bien * :</td><td><SELECT NAME="type"><OPTION>Maison
																									<OPTION>Appartement
																									<OPTION>Terrain
																									</SELECT></td></tr>';
	echo '<tr><td class="corps">Prix * :</td><td><INPUT TYPE="text" name="prix" maxlength="10"></td></tr>';
	echo '<tr><td class="corps">Code Postal * :</td><td><INPUT TYPE="text" name="codepostal" maxlength="5"></td></tr>';
	echo '<tr><td class="corps">Nbre Chambres * :</td><td><SELECT NAME="chambre"><OPTION>0
																			  <OPTION>1
																			  <OPTION>2
																			  <OPTION>3
																			  <OPTION>4
																			  <OPTION>5</SELECT></td></tr>';
	echo '<tr><td class="corps">Nbre Garage * :</td><td><SELECT NAME="garage"><OPTION>0
																			  <OPTION>1
																			  <OPTION>2
																			  <OPTION>3
																			  <OPTION>4
																			  <OPTION>5</SELECT></td></tr>';
	echo '<tr><td class="corps">Commentaire Sur le bien * :</td>';
	echo '<td class="corps"><textarea  name="commentaire" cols=34 rows=4></textarea></td></tr>';
	echo '<tr><td class="corps">Nbre Photos * :</td><td><SELECT NAME="photo"><OPTION>0
																			  <OPTION>1
																			  <OPTION>2
																			  <OPTION>3
																			  <OPTION>4
																			  <OPTION>5</SELECT></td></tr>';
	echo '<tr><td class="corps">Fichier 1 :</td><td><INPUT TYPE="file" name="file1"></td></tr>';
	echo '<tr><td class="corps">Fichier 2 :</td><td><INPUT TYPE="file" name="file2"></td></tr>';
	echo '<tr><td class="corps">Fichier 3 :</td><td><INPUT TYPE="file" name="file3"></td></tr>';
	echo '<tr><td class="corps">Fichier 4 :</td><td><INPUT TYPE="file" name="file4"></td></tr>';
	echo '<tr><td class="corps">Fichier 5 :</td><td><INPUT TYPE="file" name="file5"></td></tr>';
	echo '<tr><td colspan=2 align=center><INPUT TYPE="submit" VALUE="Enregistrer l\'annonce"><INPUT TYPE=reset NAME=Effacer VALUE="Effacer le formulaire" ></td></tr><br><br>';
	echo "<tr><td colspan=2 align=center class='corps'>Les champs marqu&eacute; d'une * sont obligatoires</td></tr></table></center></form><br><br>";


}
?>

par Ajoloca » 27 nov. 2006, 03:17

Poste ton code actuel

par dunbar » 27 nov. 2006, 03:15

Excuse moi mais dans ma requette je remarque pas de différence entre les valeurs et les champs ?