Page 1 sur 2

Nolem, La fonction GET n'a pas de secret pour toi ?

Posté : 04 janv. 2010, 08:46
par thekingkong
Bonjour, à tous je suis nouveau sur ce forum de discutions donc je me présente :

The Kingkong
Age : 19 ans
Études : Comptabilité
D'où : De Lille

:D

Avec tout le respect que je dois à Nolem j'aimerais avoir un peu de sont aide ( Pas de jaloux vous pourrez m'aider aussi :langue: )

En fait voila :

Il était une fois, un vendeur mal honnête ou très indisponible qui vendais des scripts. Après l'achat d'un de ces scripts je me suis vite rendu compte qu'il était inconfortable à la navigation comme une voiture avec des sièges en bois, ( du genre el twingo vadjouss quech' que ché inconfortable ste carrette :( ).

Le problème fatal, le siege c'etait sa ! 8-| :

<form method="GET" name="form" class="form" action="../admin/moteur.php">
<table cellspacing="0" cellpadding="0" width="800"  border="0" align="center">
<tr>
<td><a href="../index.html"><img src="../images/logo00.png" width="63" height="88" border="0"></a></td>
<td width="735" height="88" background="../images/back.png" valign="top">
<div align="right"><img src="../images/01.png" width="110" height="20"></div>
<img src="../images/trans.gif" width="5" height="1"><img src="../images/logo.png" width="192" height="24"><font size="2" color="#ff8636"  face="Arial, Helvetica, sans-serif"><b><i>Recherchez. Comparez. Achetez</i></b></font><br>
<img src="../images/trans.gif" width="5" height="1"><input id="searchmoteur" name="searchmoteur" style="background-image:url(../images/barre.png); width:219px; height:16px; color:#c0c0c0; border:0px; padding:3px; margin-right:2px; background-repeat: no-repeat;" value='<?=$variable? >' onFocus="if (this.value=='Que recherchez-vous ?') {this.value=''}">
<select id="regionmoteur" name="regionmoteur" style="width:170px; height:22px; border:0px; padding:3px; margin-right:2px; font-family:Arial, Helvetica, sans-serif; font-size:12px;">
<option value=''>&laquo;Choisissez une région&raquo;</option>
<option value='Alsace' >Alsace</option>
<option value='Aquitaine' >Aquitaine</option>
<option value='Auvergne' >Auvergne</option>
<option value='Basse-Normandie' >Basse Normandie</option>
<option value='Bourgogne' >Bourgogne</option>
<option value='Bretagne' >Bretagne</option>
<option value='Centre' >Centre</option>
<option value='Champagne-Ardenne' >Champagne Ardenne</option>
<option value='Corse' >Corse</option>
<option value='Franche-Comte' >Franche Comte</option>
<option value='Haute-Normandie' >Haute Normandie</option>
<option value='Ile-de-France' >Ile de France</option>
<option value='Languedoc-Roussillon' >Languedoc Roussillon</option>
<option value='Limousin' >Limousin</option>
<option value='Lorraine' >Lorraine</option>
<option value='Midi-Pyrenees' >Midi Pyrenees</option>
<option value='Nord-Pas-de-Calais' >Nord Pas de Calais</option>
<option value='Pays-de-la-Loire' >Pays de la Loire</option>
<option value='Picardie' >Picardie</option>
<option value='Poitou-Charentes' >Poitou Charentes</option>
<option value='Provence-Alpes-Cote-d-Azur' >Provence Alpes Cote d Azur</option>
<option value='Rhone-Alpes'>Rhone-Alpes</option>
</select>
<select id="categoriemoteur" name="categoriemoteur" style="width:190px; height:22px; border:0px; padding:3px; margin-right:2px; font-family:Arial, Helvetica, sans-serif; font-size:12px;">
<option value=''>&laquo;Choisissez une catégories&raquo;</option>
<option value='Vehicule' size='20'>Vehicule</option>
<option value='Moto' size='20'>Moto</option>
<option value='Electromenager' size='20'> Electroménager</option>
<option value='Hifi-photo-video' size='20'> Hifi, Photo & Vidéo</option>
<option value='Informatique' size='20'> Informatique</option>
<option value='Jeux-video-jouets' size='20'> Jeux vidéo et Jouets</option>
<option value='Livre-musique-film' size='20'> Livre, Musique, Film</option>
<option value='Maison-jardin' size='20'> Maison & Jardin</option>
<option value='Mode-accessoires' size='20'> Mode & Accessoires</option>
<option value='Sante-beaute' size='20'> Santé - Beauté</option>
<option value='Sport-loisirs' size='20'> Sport & Loisirs</option>
<option value='Telephonie' size='20'> Téléphonie</option>
<option value='Vin-alimentation' size='20'> Vin & Alimentation</option>
<option value='Voyages' size='20'> Voyages</option>
<option value='Immobilier' size='20'> Immobilier</option>
<option value='Divers' size='20'> Divers</option>
</select>
<input type="image" src="../images/valider.png" align="top">

</td>
<td><img src="../images/back6.png" width="2" height="88"></td>

</tr>
</form>
</table>
<table cellspacing="0" cellpadding="0" border="0" width="800" align="center">
<tr>
<td width="4"><img src="../images/angle5.png" width="4" height="32"></td>
<td width="300" height="32" background="../images/back1.png">
<font class="colgris"><img src="../images/trans.gif" width="5" height="1">
<?php

echo ''.$_GET['region'].' > '.$_GET['categorie'].'';

?>
La question, parceque il y en a une :? , est la suivante : Une fois le problème résolu serait-ce pareil pour des dérouleurs ?

impossible de se retrouver sur la page des résultats en ayant toujours le mot recherché dans la barre de recherche.

Merci beaucoup pour l'aide que vous pourrais me prescrire, mes salutation thekingkong.
Encore mille excuse pour les faute d'orthographe.

Re: Nolem, La fonction GET n'a pas de secret pour toi ?

Posté : 04 janv. 2010, 13:09
par jojo1000
Ton fichier appelle un script php: "../admin/moteur.php"; c'est ce fichier qui va effectuer le traitement, je suppose.
Si ce fichier est celui de du code que tu présentes il va y avoir un problème car j'ai beau y regarder je ne vois pas de 'categorie' et de 'region';
remplace l'un d'eux par 'regionmoteur' et l'autre 'categoriemoteur'; déjà tu devrais avoir un affichage. :wink:
Si ça ne marche pas vire dans le form action="../admin/moteur.php". :wink:

Re: Nolem, La fonction GET n'a pas de secret pour toi ?

Posté : 05 janv. 2010, 09:50
par niuxe
Hello et bienvenue,

Il n'y a pas que moi sur le forum et je sais que Ryle ou Calimero ou Zeus ou Victor ou ... (erf la liste est longue) pourraient t'aider. Cependant, bien que j'ai pas trop le temps ce matin, je vais essayer de résoudre ton soucis.
Ton fichier appelle un script php: "../admin/moteur.php"; c'est ce fichier qui va effectuer le traitement, je suppose.
Tu supposes bien. :)
[...]Si ça ne marche pas vire dans le form action="../admin/moteur.php". :wink:
Là, tu supposes mal. L'attribut « action » est obligatoire dans l'élément form si je ne m'abuse. Donc, en premier lieu, je te recommande de remplacer : « ../admin/moteur.php » par :
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="get">
<!-- etc. -->
Ce qui a pour effet de pointer sur ton fichier actuel à la soumission du formulaire. Ainsi, il est plus facile de contrôler tes données à la soumission du formulaire.

Après, tu écris :
echo $_GET['region'].' > '.$_GET['categorie'];
Or tes deux select portent des noms relativement différents (categoriemoteur et regionmoteur). Donc, pour afficher le résultat, ce serait plutôt ceci :
echo $_GET['regionmoteur'].' > '.$_GET['categoriemoteur '];
Je t'invite à lire ce tuto (Récupérer les valeurs d'un formulaire) afin que tu comprennes un peu mieux le mécanisme d'un formulaire.

Petit conseil supplémentaire, je te recommande d'abords de mieux appréhender l'HTML avant de vouloir apprendre le PHP qui est langage plus rigoureux.

Bonne journée

Re: Nolem, La fonction GET n'a pas de secret pour toi ?

Posté : 05 janv. 2010, 10:35
par thekingkong
Bonjour à tous, et puis merci nolem surtout pour avoir répondu a une heure matinale :D

Oui en réalité la demande est traité par le fichier moteur.php c'est le seul fichier qui traite les recherche "moteur(de recherche).php" je suppose :? . Mais ce n'est pas moi du tout qui à conçu ce script et comme le php n'est pas mon fort :( .

En suite j'aimerais essayer de faire les manipulation que vous m'aviez recommandé mais je doute fort que le problème n'est causé simplement par ces ligne ( en les remplaçant en gros). De plus que je lutte à ajouter un ou plusieurs champs afin d'uploader les images de l'annonce, mais comme le script ne ce connecte pas a une base de données, mais crée lui même ces page php, je n'y comprend rien et sont vendeur et une personne mal honnête. C'est toujours pour ma poire :lol:

En tout cas, Chapeau bas, j'admire t'es connaissance ( au moins tu ne dépend de personne comme sa, et encore moins des escrocs :wink: ) bonne journée nolem, a ... :?: a peut être ce soir si tu te connecte. :D

Merci encore, enfin un forum à l'écoute parce que le site du zero ....

Re: Nolem, La fonction GET n'a pas de secret pour toi ?

Posté : 05 janv. 2010, 11:42
par jojo1000
je doute fort que le problème n'est causé simplement par ces ligne ( en les remplaçant en gros).
Mais si!!!
Ton script veut afficher des variables qui n'existent pas, si je ne me trompe pas, à l'envoi de ton formulaire tu dois avoir un message d'erreur disant que les index sont indéfinis, donc tu n'as qu'à remplacer les $_GET comme on t'as dit.
Ensuite pour répondre à Nolem( #-o ; je cherche pas la bagarre), action dans le form n'est pas réellement obligatoire, si on ne le met pas, ça a le même effet que $_SERVER['PHP_SELF'].


De plus que je lutte à ajouter un ou plusieurs champs afin d'uploader les images de l'annonce, mais comme le script ne ce connecte pas a une base de données, mais crée lui même ces page php, je n'y comprend rien
Là, je n'ai pas assez d'infos: qu'est-ce que tu veux exactement? Enregistrer des images sur un serveur distant?
Merci de tenir au courant.

Re: Nolem, La fonction GET n'a pas de secret pour toi ?

Posté : 05 janv. 2010, 12:11
par thekingkong
merci jojo :D ,

Sa a l'air d'aller mieux pour ne pas dire que vous êtes des petit génie ^^.
Halala le duel commence Jojo vs Nolem la quête du meilleur codeur :p ( merci a vous :d )

puis pour les images j'ai ceci :

Code : Tout sélectionner

<td valign="top" ><font class='annonce'>Image :</font></td> <td><input type="hidden" name="posted" value="1" /> <input type="file" name="fichier" size="23">&nbsp;&nbsp;<font class='annonce'> (optionnel)</font><br><font class='annonce'>(Max 800x800) et poid de l'image (Max 500 ko) en GIF / JPEG / PNG </font> </td>
OK, jusqu'à la sa va donc je rajoute sur ma page new-sujet.php un deuxième champs comme celui ci.

puis arrive l'anarchie la fameuse page new-sujet-poster.php
<?php

include "admin.php";

$region = $_POST['region'];
$departement = $_POST['departement'];
$categorie = $_POST['categorie'];
$company = $_POST['company'];
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$adresse = $_POST['adresse'];
$ville = $_POST['ville'];
$postal = $_POST['postal'];
$tel = $_POST['tel'];
$email = $_POST['email'];
$prix = $_POST['prix'];
$sujet = $_POST['sujet'];
$message = $_POST['message'];
$envoie = $_POST['envoie'];
$paiement = $_POST['paiement'];
$objet = $_POST['objet'];


$tabRegion = array(
1=>'Alsace',
2=>'Aquitaine',
3=>'Auvergne',
4=>'Basse Normandie',
5=>'Bourgogne',
6=>'Bretagne',
7=>'Centre',
8=>'Champagne-Ardenne',
9=>'Corse',
10=>'Franche-Comte',
11=>'Haute-Normandie',
12=>'Ile-de-France',
13=>'Languedoc-Roussillon',
14=>'Limousin',
15=>'Lorraine',
16=>'Midi-Pyrenees',
17=>'Nord-Pas-de-Calais',
18=>'Pays-de-la-Loire',
19=>'Picardie',
20=>'Poitou-Charentes',
21=>'Provence-Alpes-Cote-d-Azur',
22=>'Rhone-Alpes',);



$time6 = date("d-m-Y-G-i-s-", time());
setlocale (LC_TIME, 'fr_FR','fra');
$time8 = ucfirst(strftime("%A %e"));
$time9 = strftime("%H:%M");

$sujet1 = ucfirst(strtolower($sujet));
$nom = ucfirst(strtolower($nom));
$prenom = ucfirst(strtolower($prenom));
$adresse = ucfirst(strtolower($adresse));
$ville = ucfirst(strtolower($ville));
$message = ucfirst(strtolower($message));
$prix = str_replace('€','',$prix);


$chaine = "abBDEFcdefghijkmnPQRSTUVWXYpqrst23456789";
srand((double)microtime()*1000000);
for($i=0; $i<8; $i++)
{ //mot de passe de 8 caractères
$pass .= $chaine[rand()%strlen($chaine)];
}

//--------------------------------------------
//  DEFINITION DES VARIABLES pour l uploade
//--------------------------------------------

$target     = "../region/$tabRegion[$region]/$categorie/image-uploade/";  // Repertoire cible
$extension  = 'jpg';      // Extension du fichier sans le .
$extension1  = 'gif';      // Extension du fichier sans le .
$extension2  = 'png';      // Extension du fichier sans le .

$max_size   = 500000;     // Taille max en octets du fichier = 500 ko
$width_max  = 800;        // Largeur max de l'image en pixels
$height_max = 800;        // Hauteur max de l'image en pixels

//---------------------------------------------
//  DEFINITION DES VARIABLES LIEES AU FICHIER pour l uplode
//---------------------------------------------

$nom_file   = $_FILES['fichier']['name'];
$taille     = $_FILES['fichier']['size'];
$tmp        = $_FILES['fichier']['tmp_name'];

$nom_file = strtr($nom_file,'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ','AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$nom_file = preg_replace('/([^.a-z0-9]+)/i', '-', $nom_file);

if(!empty($_POST['posted'])) {
    // On vérifie si le champ est rempli
    if(!empty($_FILES['fichier']['name'])) {
        // On vérifie l'extension du fichier
        if((substr($nom_file, -3) == $extension) || (substr($nom_file, -3) == $extension1) || (substr($nom_file, -3) == $extension2)) {
            // On récupère les dimensions du fichier
            $infos_img = getimagesize($_FILES['fichier']['tmp_name']);

            // On vérifie les dimensions et taille de l'image
            if(($infos_img[0] <= $width_max) && ($infos_img[1] <= $height_max) && ($_FILES['fichier']['size'] <= $max_size)) {
                // Si c'est OK, on teste l'upload
                if(move_uploaded_file($tmp,$target.$time6.$nom_file)) {


//---------------------------------------------
// Si upload OK alors on creer l annonce
//---------------------------------------------

$liens = $sujet;
$liens = strtr($liens,'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ','AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$liens = ucfirst(strtolower($liens));
$liens = preg_replace('/([^.a-z0-9]+)/i', '-', $liens);

$fp1 = fopen("../region/$tabRegion[$region]/$categorie/compteur.txt","r+");
$nbvisites1 = fgets($fp1,255);
$nbvisites1++;
fseek($fp1,0); 
fputs($fp1,$nbvisites1); 
fclose($fp1); 



	 $fichiercompte = fopen("../region/$tabRegion[$region]/$categorie/compteur-sujet.txt" , "r+"); /* Ouverture du fichier en lecture/ecriture */
	 $lecturefichier = fgets($fichiercompte,20); /* lecteur des 10 premiers caractères */
	 $lecturefichier++; /* Incrémente le compteur de 1 */
	 fseek($fichiercompte,0); /* Déplacment du pointeur au début du fichier */
	 fputs($fichiercompte,$lecturefichier); /* Ecriture de la nouvelle valeur du compteur */
	 fclose($fichiercompte);

                   $time = date("d/m/Y \à G.i:s", time());
		   $time2 = date("d-m-Y--G-i-s", time());
                   $supp1 = date("jnY", time());
		   $adminsup = '$adminsup';
                   $supvendeur = '$supvendeur';
		   $page = '$page';




                 $creationafficheannonce = fopen("../region/$tabRegion[$region]/$categorie/annonce/$lecturefichier-$liens.php","w+"); /* creation fichier */
		 fputs($creationafficheannonce,"<table class='cadretable' align='center'>
<TR>
  <TD class='tableimage'><img src='../region/$tabRegion[$region]/$categorie/miniature.php?pic=image-uploade/$time6$nom_file&w_max=80&h_max=60' class='imag'></TD>
  <TD class='tabletitre'><?php
		  if($adminsup == $mpasse)
		        {
				  echo \"<a href='../admin/sup-message.php?region=$tabRegion[$region]&categorie=$categorie&id=$lecturefichier-$liens&page=$page&login=$login&mpasse=$mpasse' class='texte1rouge'>Supprimer</a>&nbsp;\";
				  echo \"<a href='../admin/sujet.php?region=$tabRegion[$region]&categorie=$categorie&id=$lecturefichier-$liens&page=$page' class='lientitre'>$sujet1</a>&nbsp;\";
				}
		  else {
		          echo \"<a href='../admin/sujet.php?region=$tabRegion[$region]&categorie=$categorie&id=$lecturefichier-$liens&page=$page' class='lientitre'>$sujet1</a>\";
		       }
		  ?><br><font class='tableprice'>$prix €</font><br><br><a href='../admin/sujet.php?region=$tabRegion[$region]&categorie=$categorie&id=$lecturefichier-$liens&page=<?php echo $page; ?>' class='detail'><b>Plus de détails ...</b></a></TD>
    <TD class='tabledepartement'>$departement</TD>
  <TD class='tablecategorie'>$categorie</TD>
<TD class='tabledate'>$time8<br>$time9</TD>
</TR>
</table><br>");

          fclose($creationafficheannonce);
          $fp2 = '$fp2';
          $nbvisites2 = '$nbvisites2';

          $adminsup = '$adminsup';
          $creationindexsujet= fopen("../region/$tabRegion[$region]/$categorie/index/$lecturefichier-$liens-index.php","w+"); /* creation fichier */
	  fputs($creationindexsujet,"<?php

 if ($adminsup == '$mpasse' || $supvendeur == '$pass')

{

	if (file_exists('../region/$tabRegion[$region]/$categorie/messages/$lecturefichier-$liens--$time2.php'))

		{
                $fp2 = fopen('../region/$tabRegion[$region]/$categorie/compteur.php','r+');
                $nbvisites2 = fgets($fp2,255);
                $nbvisites2--;
                fseek($fp2,0); 
                fputs($fp2,$nbvisites2); 
                fclose($fp2); 
		unlink ('../region/$tabRegion[$region]/$categorie/messages/$lecturefichier-$liens--$time2.php');
                unlink ('../region/$tabRegion[$region]/$categorie/image-uploade/$time6$nom_file');
                unlink ('../region/$tabRegion[$region]/$categorie/annonce/$lecturefichier-$liens.php');
                unlink ('../region/$tabRegion[$region]/$categorie/index/$lecturefichier-$liens-index.php');
                echo '<div align=\'center\' class=\'annonce\'>Votre Annonce a éte Supprim&eacute;e de notre base de donnée</div>';
		}

}

else

{

		if (file_exists('../region/$tabRegion[$region]/$categorie/messages/$lecturefichier-$liens--$time2.php'))
{
		include '../region/$tabRegion[$region]/$categorie/messages/$lecturefichier-$liens--$time2.php';
}


}

?>");
                     fclose($creationindexsujet);

		 $message = str_replace (chr(10), "<br>" , $message );
		 $message = str_replace (chr(92), "" , $message );
                 $message = str_replace('?>','?&#155;',$message);
                 $message = str_replace('<?php','&#139;?php',$message);
                 $creationaffichemessage = fopen("../region/$tabRegion[$region]/$categorie/messages/$lecturefichier-$liens--$time2.php","w+"); /* creation fichier */
		 fputs($creationaffichemessage,"<table align='center' class='tabledetail'>
 <TR><TD class='tabledesc'>
  <font color='#d4c25c'><b>$sujet1</b></font> <br>
  <font color='#454545'>Mise en ligne par </font>
  <font color='#ff823c'><b> $prenom </b></font> $time8 à $time9<br>
  <p align='center'><img src='../region/$tabRegion[$region]/$categorie/image-uploade/$time6$nom_file' class='imag1'><br><a href='../region/$tabRegion[$region]/$categorie/image-uploade/$time6$nom_file' target=_bank><font size=1 color='#666666'>Voir la photo en taille réelle</font></a></p>
  <font color='#7e8a9f'><b>Description :</b></font><br>
  <font color='#454545'>$message</font>
</TD>
<TD valign='top' bgcolor='#eaeef6' width='250'><font color='#8bac60' size='2'><b>Info vendeur :</b></font> <br><br><br>
<table cellpadding='0' cellspacing='0' border='0'>
 <TR><TD class='tableback'>
  <font color='#7e8a9f' size='1'>Nom :<br>Prénon :<br>Adresse : <br>Ville :<br>Code postal :<br>Département :<br>Tel : <br>Vendeur : </font><br><br><br></TD>
  <TD class='tableback'><font color='#ff823c' size='1'>$nom<br>$prenom<br>$adresse<br>$ville<br>$postal<br>$departement<br>$tel<br>$company</font><br></TD>
</TR>
</table><font color='#8bac60' size='2'><b>Préférence vendeur :</b></font><br><br><br>
<table cellpadding='0' cellspacing='0' border='0'>
 <TR>
  <TD class='tableback'><font color='#7e8a9f' size='1'>Mode d'envoie :<br>Paiement :<br><br><br><br></TD>
  <TD class='tableback'><font color='#ff823c' size='1'>$envoie<br>$paiement</font><br>
</TD>
</TR>
</table><font color='#8bac60' size='2'><b>Etat de l'objet :</b></font><br><br><br>
<table cellpadding='0' cellspacing='0' border='0'>
<TR>
  <TD class='tableback'><font color='#7e8a9f' size='1'>Etat de l'objet :<br>Prix :<br>Catégorie : <br><br><br></TD>
  <TD class='tableback'><font color='#ff823c' size='1'>$objet<br>$prix €<br>$categorie</font><br>
</TD>
</TR>
</table>

</TD>
</TR>
</table><br>
<form action='email-vendeur.php' method='post' onSubmit='return verif_formulaire()' name='form1'>
<table class='tablemail' align='center'>
            <tr>
            <td>Envoyez un message au vendeur !</td>
            <td>&nbsp;</td>
          </tr>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
          </tr>
            <td><font color='#7e8a9f'>Nom :</font></td>
            <td><input name='vendeur' type='hidden' value='$email'><input name='sujet' type='hidden' value='$sujet1'><input name='nom' type='text'  class='form' id='nom' maxlength='20'></td>
          </tr>
          <tr>
            <td><font color='#7e8a9f'>Prenom :</font></td>
            <td><input name='prenom' type='text' class='form' id='prenom'  maxlength='20'></td>
          </tr>
          <tr>
            <td><font color='#7e8a9f'>Tel :</font></td>
            <td><input name='tel' type='text' class='form' id='tel'  maxlength='15'></td>
          </tr>
         <tr>
            <td><font color='#7e8a9f'>E-mail :</font></td>
            <td><input name='emailacheteur' type='text' class='form' id='emailacheteur'  maxlength='50'></td>
          </tr>
           <tr>
            <td><font color='#7e8a9f'>Votre message :</font></td>
            <td><textarea name='message' cols='40' rows='4' id='message'  class='textarea'></textarea></td>
          </tr>
           <tr>
            <td>&nbsp;</td>
            <td><input type='submit' name='Submit' value='Envoyer' class='textarea'>
              <input type='reset' name='Submit2' value='R&eacute;tablir' class='textarea'> </td>
          </tr>
</table><br>
</form>");

fclose($creationaffichemessage);



//--------------------------------------------
//  Si tout est ok on affiche Sujet Poster ok
//--------------------------------------------


echo '<table width="700" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#f2f4f6" style="border: solid 1px #cad7e4;">
  <tr>
    <td>&nbsp;</td>
    <td><div align="center" class="annonce">Nouvelle annonce créée avec succès<br> Nous vous avons envoyé un e-mail avec votre lien de suppression !</div></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td width="19">&nbsp;</td>
    <td><div align="center" class="annonce"> - <a href="../region/index.php?region='.$tabRegion[$region].'&categorie='.$categorie.'" class="annonce">Retour
        aux annonces</a> -</div></td>
    <td width="19">&nbsp;</td>
  </tr>
</table>';


                } else {
                    // Sinon on affiche une erreur système
                    echo '<table width="700" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#f2f4f6" style="border: solid 1px #cad7e4;"><tr><td><div align="center" class="annonce">Problème lors de l\'upload !</b><br /><br /><b>', $_FILES['fichier']['error'], '</div></td></tr></table>';
                }
            } else {
                // Sinon on affiche une erreur pour les dimensions et taille de l'image
                echo '<table width="700" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#f2f4f6" style="border: solid 1px #cad7e4;"><tr><td><div align="center" class="annonce">Problème dans les dimensions (Max 800x800) ou poid de l\'image (Max 500 ko)</div></td></tr></table>';
            }
        } else {
            // Sinon on affiche une erreur pour l'extension
            echo '<table width="700" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#f2f4f6" style="border: solid 1px #cad7e4;"><tr><td><div align="center" class="annonce">Votre image ne comporte pas l\'extension .jpg .gif ou .png !</div></td></tr></table>';
        }
    } else {



// Sinon il ny a pas d image on creer quand meme l annonce


$fp1 = fopen("../region/$tabRegion[$region]/$categorie/compteur.txt","r+");
$nbvisites1 = fgets($fp1,255);
$nbvisites1++;
fseek($fp1,0); 
fputs($fp1,$nbvisites1); 
fclose($fp1); 


$liens = $sujet;
$liens = strtr($liens,'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ','AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$liens = ucfirst(strtolower($liens));
$liens = preg_replace('/([^.a-z0-9]+)/i', '-', $liens);

	 $fichiercompte = fopen("../region/$tabRegion[$region]/$categorie/compteur-sujet.txt" , "r+"); /* Ouverture du fichier en lecture/ecriture */
	 $lecturefichier = fgets($fichiercompte,20); /* lecteur des 10 premiers caractères */
	 $lecturefichier++; /* Incrémente le compteur de 1 */
	 fseek($fichiercompte,0); /* Déplacment du pointeur au début du fichier */
	 fputs($fichiercompte,$lecturefichier); /* Ecriture de la nouvelle valeur du compteur */
	 fclose($fichiercompte);

           $time = date("d/m/Y \à G.i:s", time());
		   $time2 = date("d-m-Y--G-i-s", time());
		   $adminsup = '$adminsup';
                   $supvendeur = '$supvendeur';
		   $page = '$page';



          $creationafficheannonce = fopen("../region/$tabRegion[$region]/$categorie/annonce/$lecturefichier-$liens.php","w+"); /* creation fichier */
		 fputs($creationafficheannonce,"<table class='cadretable' align='center'>
<TR>
  <TD class='tableimage'><img src='../images/nopicture.png' class='imag'></TD>
  <TD class='tabletitre'><?php
		  if($adminsup == $mpasse)
		        {
				  echo \"<a href='../admin/sup-message.php?region=$tabRegion[$region]&categorie=$categorie&id=$lecturefichier-$liens&page=$page&login=$login&mpasse=$mpasse' class='texte1rouge'>Supprimer</a>&nbsp;\";
				  echo \"<a href='../admin/sujet.php?region=$tabRegion[$region]&categorie=$categorie&id=$lecturefichier-$liens&page=$page' class='lientitre'>$sujet1</a>&nbsp;\";
				}
		  else {
		          echo \"<a href='../admin/sujet.php?region=$tabRegion[$region]&categorie=$categorie&id=$lecturefichier-$liens&page=$page' class='lientitre'>$sujet1</a>\";
		       }
		  ?><br><font class='tableprice'>$prix €</font><br><br><b><a href='../admin/sujet.php?region=$tabRegion[$region]&categorie=$categorie&id=$lecturefichier-$liens&page=<?php echo $page; ?>' class='detail'>Plus de détails ...</b></a></TD>
    <TD class='tabledepartement'>$departement</TD>
  <TD class='tablecategorie'>$categorie</TD>
<TD class='tabledate'>$time8<br>$time9</TD>
</TR>
</table><br>");

          fclose($creationafficheannonce);

          $fp2 = '$fp2';
          $nbvisites2 = '$nbvisites2';
          $adminsup = '$adminsup';
          $creationindexsujet= fopen("../region/$tabRegion[$region]/$categorie/index/$lecturefichier-$liens-index.php","w+"); /* creation fichier */
	  fputs($creationindexsujet,"<?php

 if ($adminsup == '$mpasse' || $supvendeur == '$pass')

{

	if (file_exists('../region/$tabRegion[$region]/$categorie/messages/$lecturefichier-$liens--$time2.php'))

		{

                $fp2 = fopen('../region/$tabRegion[$region]/$categorie/compteur.txt','r+');
                $nbvisites2 = fgets($fp2,255);
                $nbvisites2--;
                fseek($fp2,0); 
                fputs($fp2,$nbvisites2); 
                fclose($fp2); 
		unlink ('../region/$tabRegion[$region]/$categorie/messages/$lecturefichier-$liens--$time2.php');
                unlink ('../region/$tabRegion[$region]/$categorie/annonce/$lecturefichier-$liens.php');
                unlink ('../region/$tabRegion[$region]/$categorie/index/$lecturefichier-$liens-index.php');
                echo '<div align=\'center\' class=\'annonce\'>Votre Annonce a été Supprim&eacute;e de notre base de donnée</div>';
		}
}

else

{

		if (file_exists('../region/$tabRegion[$region]/$categorie/messages/$lecturefichier-$liens--$time2.php'))
{
		include '../region/$tabRegion[$region]/$categorie/messages/$lecturefichier-$liens--$time2.php';
}


}

?>");
                     fclose($creationindexsujet);



		 $message = str_replace (chr(10), "<br>" , $message );
		 $message = str_replace (chr(92), "" , $message );
                 $message = str_replace('?>','?&#155;',$message);
                 $message = str_replace('<?php','&#139;?php',$message);
                 $creationaffichemessage = fopen("../region/$tabRegion[$region]/$categorie/messages/$lecturefichier-$liens--$time2.php","w+"); /* creation fichier */
		  fputs($creationaffichemessage,"<table align='center' class='tabledetail'>
 <TR><TD class='tabledesc'>
  <font color='#d4c25c'><b>$sujet1</b></font> <br>
  <font color='#454545'>Mise en ligne par </font>
  <font color='#ff823c'><b> $prenom </b></font> $time8 à $time9<br>
  <p align='center'><img src='../images/nopicture1.png' class='imag1'></p>
  <font color='#7e8a9f'><b>Description :</b></font><br>
  <font color='#454545'>$message</font>
</TD>
<TD valign='top' bgcolor='#eaeef6' width='250'><font color='#8bac60' size='2'><b>Info vendeur :</b></font> <br><br><br>
<table cellpadding='0' cellspacing='0' border='0'>
 <TR><TD class='tableback'>
  <font color='#7e8a9f' size='1'>Nom :<br>Prénon :<br>Adresse : <br>Ville :<br>Code postal :<br>Département :<br>Tel : <br>Vendeur : </font><br><br><br></TD>
  <TD class='tableback'><font color='#ff823c' size='1'>$nom<br>$prenom<br>$adresse<br>$ville<br>$postal<br>$departement<br>$tel<br>$company</font><br></TD>
</TR>
</table><font color='#8bac60' size='2'><b>Préférence vendeur :</b></font><br><br><br>
<table cellpadding='0' cellspacing='0' border='0'>
 <TR>
  <TD class='tableback'><font color='#7e8a9f' size='1'>Mode d'envoie :<br>Paiement :<br><br><br><br></TD>
  <TD class='tableback'><font color='#ff823c' size='1'>$envoie<br>$paiement</font><br>
</TD>
</TR>
</table><font color='#8bac60' size='2'><b>Etat de l'objet :</b></font><br><br><br>
<table cellpadding='0' cellspacing='0' border='0'>
<TR>
  <TD class='tableback'><font color='#7e8a9f' size='1'>Etat de l'objet :<br>Prix :<br>Catégorie : <br><br><br></TD>
  <TD class='tableback'><font color='#ff823c' size='1'>$objet<br>$prix €<br>$categorie</font><br>
</TD>
</TR>
</table>

</TD>
</TR>
</table><br>
<form action='email-vendeur.php' method='post' onSubmit='return verif_formulaire()' name='form1'>
<table class='tablemail' align='center'>
            <tr>
            <td>Envoyez un message au vendeur !</td>
            <td>&nbsp;</td>
          </tr>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
          </tr>
            <td><font color='#7e8a9f'>Nom :</font></td>
            <td><input name='vendeur' type='hidden' value='$email'><input name='sujet' type='hidden' value='$sujet1'><input name='nom' type='text'  class='form' id='nom' maxlength='20'></td>
          </tr>
          <tr>
            <td><font color='#7e8a9f'>Prenom :</font></td>
            <td><input name='prenom' type='text' class='form' id='prenom'  maxlength='20'></td>
          </tr>
          <tr>
            <td><font color='#7e8a9f'>Tel :</font></td>
            <td><input name='tel' type='text' class='form' id='tel'  maxlength='15'></td>
          </tr>
         <tr>
            <td><font color='#7e8a9f'>E-mail :</font></td>
            <td><input name='emailacheteur' type='text' class='form' id='emailacheteur'  maxlength='50'></td>
          </tr>
           <tr>
            <td><font color='#7e8a9f'>Votre message :</font></td>
            <td><textarea name='message' cols='40' rows='4' id='message'  class='textarea'></textarea></td>
          </tr>
           <tr>
            <td>&nbsp;</td>
            <td><input type='submit' name='Submit' value='Envoyer' class='textarea'>
              <input type='reset' name='Submit2' value='R&eacute;tablir' class='textarea'> </td>
          </tr>
</table><br>
</form>");

fclose($creationaffichemessage);


//--------------------------------------------
//  Si tout est ok on affiche Sujet Poster ok
//--------------------------------------------


echo '<table width="700" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#f2f4f6" style="border: solid 1px #cad7e4;">
  <tr>
    <td>&nbsp;</td>
    <td><div align="center" class="annonce">Nouvelle annonce créée avec succès<br> Nous vous avons envoyé un e-mail avec votre lien de suppression !</div></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td width="19">&nbsp;</td>
    <td><div align="center" class="annonce"> - <a href="../region/index.php?region='.$tabRegion[$region].'&categorie='.$categorie.'" class="annonce">Retour
        aux annonces</a> -</div></td>
    <td width="19">&nbsp;</td>
  </tr>
</table>';


 }
}


//* On envoi un mail après avoir poster une annonce */

$urlsupprime = "$urlsite/admin/sup-message.php?region=$tabRegion[$region]&id=$lecturefichier-$liens&categorie=$categorie&supvendeur1=$pass";

//* Récupération des valeurs des champs du formulaire */

if (get_magic_quotes_gpc())
{

    $email = stripslashes($_POST['email']);

}
else
{

  $email = $_POST['email'];

}

$to = $email;

$sujet = "Vous avez créer une annonce sur le $site";


//* Construction du message */

$msg  = 'Bonjour,'."\r\n\r\n";
$msg .= 'Vous nous avez récemment soumis une annonce sur notre site '.$site."\r\n\r\n";
$msg .= 'Veuillez conserver cet email dans vos archives.'."\r\n";

$msg .= 'Les informations sur votre compte sont les suivantes:'."\r\n\r\n";
$msg .= 'Liens pour supprimer votre annonce après une vente: '."\r\n";
$msg .= ''.$urlsupprime."\r\n\r\n";

$msg .= 'Cordialement'."\r\n\r\n";

//* En-têtes de l'e-mail */

$headers  = 'From: Webmaster <'.$emailwebmaster.'>'."\n";
$headers .= 'Content-Type: text/plain; charset="iso-8859-1"'."\n";
$headers .= 'X-Priority: 1'."\n";

//* Envoi de l'e-mail */

mail($to, $sujet, $msg, $headers);


?>




Désolé :oops: .


Hé la je suis totalement perdu ! :( je préfère encore revivre le problème avec le moteur de recherche. #-o


[/code]

Re: Nolem, La fonction GET n'a pas de secret pour toi ?

Posté : 05 janv. 2010, 12:31
par stealth35
ca sert a quoi ton code ?, (y'a beaucoup de blabla)

Re: Nolem, La fonction GET n'a pas de secret pour toi ?

Posté : 05 janv. 2010, 12:43
par thekingkong
Bonjour:
un script de petite annonce

Il sert a crée l'annonce que l'utilisateur vient d'ajouté :)
salut

Re: Nolem, La fonction GET n'a pas de secret pour toi ?

Posté : 05 janv. 2010, 13:48
par niuxe
Mais si!!!
Ton script veut afficher des variables qui n'existent pas, si je ne me trompe pas, à l'envoi de ton formulaire tu dois avoir un message d'erreur disant que les index sont indéfinis, donc tu n'as qu'à remplacer les $_GET comme on t'as dit.
Ensuite pour répondre à Nolem( #-o ; je cherche pas la bagarre), action dans le form n'est pas réellement obligatoire, si on ne le met pas, ça a le même effet que $_SERVER['PHP_SELF'].
Comme je te l'ai dit par MP la bagarre est close et on est copaing. :) Cependant, je me permets de t'indiquer que tu dis une sottise. Bien qu'en supprimant l'attribut « action », tu auras le résultat escompté, ton code sera faux puisque l'élément form attend obligatoirement 2 attributs (method et action) les autres étant optionnels. Un code faux en HTML peut avoir des incidences à plusieurs endroits (affichage et comportement imprévu). Également, supprimer l'attribut action est une mauvaise idée puisqu'il est possible par cet intermédiaire de « pirater » en injectant des balises nocives ou instruction JS. C'est la raison pour laquelle, j'ai rajouté la fonction htmlspecialchars avec $_SERVER... qui limite largement le petit hacker du dimanche et autres trolls sauvages.

À noter que ceci (syntaxe moins élégante) :
<form method="get" action="#"> <!-- etc. -->
aura le même effet que $_SERVER ...
Sa a l'air d'aller mieux pour ne pas dire que vous êtes des petit génie ^^. Halala le duel commence Jojo vs Nolem la quête du meilleur codeur :p ( merci a vous :d )[...]En tout cas, Chapeau bas, j'admire t'es connaissance ( au moins tu ne dépend de personne comme sa, et encore moins des escrocs :wink: ) bonne journée nolem, a ... :?: a peut être ce soir si tu te connecte. :D
Je ne prétends pas être le super codeur fou. Un forum permet d'échanger notre humble savoir et c'est très enrichissant de discuter plusieurs points de vue sur un sujet. Ça m'arrive de sortir de belles et magnifiques bêtises... :oops: Ce qui me fait rebondire sur : C'est en forgeant qu'on devient forgeron... :langue:

En ce qui concerne ton soucis, je vais essayer de te déboguer ça dans l'après midi, si j'ai un peu de temps devant moi.

Peux tu s'il te plait rééditer ton message afin de marquer les différents noms de tes fichiers. Sinon je vais essayer sans puisqu'il y a apparemment le script complet.

Re: Nolem, La fonction GET n'a pas de secret pour toi ?

Posté : 05 janv. 2010, 14:48
par stealth35
comme dis Nolem l'attibut action est obligatoire dans form, lorsque qu'il est vide il ne prend pas la valeur de PHP_SELF, mais l'adresse en cour (qui peu etre differente, rewiting par exemple), et action attendant un type de chaine URI et une URI vide n'est pas une URI valide

Re: Nolem, La fonction GET n'a pas de secret pour toi ?

Posté : 05 janv. 2010, 15:22
par thekingkong
Et si on le refaçonner tout simplement tous ensemble et évaluer durent le travaille les méthode de chacun comme sa on pourrait corriger l'autre avec des arguments. :D Allé après tout, c'est qu'un simple moteur de recherche qui recherche les mot écrit que ce soit dans une base de donnée ou dans un fichier. :lol:

et comme sa moi j'ai la fin de ce casse-tête interminable :twisted: Mouahahahahahahahahahahahaaa siyouplé ! :priere:

Re: Nolem, La fonction GET n'a pas de secret pour toi ?

Posté : 05 janv. 2010, 15:27
par stealth35
thekingkong > c'est vraiment horrible ton fichier :mrgreen:
bien que la logique du système soit correct, le reste est pas la,
pour bien faire ton truc, il va te falloir une base de données pour creer tes pages a la volé, et non pas les creer direct sur le serveur
imagine que demain t'es envie de modifier le style de tes pages tu vas devoir tout te retaper a la main,
en plus pas moyen de modifier l'annonce ni de la supprimer.

Re: Nolem, La fonction GET n'a pas de secret pour toi ?

Posté : 05 janv. 2010, 16:05
par thekingkong
e base de données pour creer tes pages a la volé, et non pas les creer direct sur le serveur
imagine que demain tes envie de modifié le style de tes pages tu va devoir tout retaper a la main,
en plus pas moyen de modifier l'annonce ni de la supprimer.
T'es un petit malin toi :mrgreen:

Allé je vais essayer de le faire moi même avec votre aide bien sur :twisted: Mouahahahaha.

Merci :D :langue: De toute façon je n'allais pas le continuer :^o .

Mais bon pour les borné qui pour eux peut importe le problème car il existe bien bah bonne chance ^^.

Salut, merci a toute l'équipe :p ( Même les inter-mitant du spectacle ) non je blaque.
ciao

Re: Nolem, La fonction GET n'a pas de secret pour toi ?

Posté : 05 janv. 2010, 16:08
par stealth35
commence par faire le schema de ta base de donnée prend un outils comme MySQL Workbench par exemple,
http://www.mysql.fr/products/workbench/

apres ca ira tout seul, sinon question t'as quelle version de PHP ?

Re: Nolem, La fonction GET n'a pas de secret pour toi ?

Posté : 06 janv. 2010, 05:09
par niuxe
Hello,
ca sert a quoi ton code ?, (y'a beaucoup de blabla)
+1
comme dis Nolem l'attibut action est obligatoire dans form, lorsque qu'il est vide il ne prend pas la valeur de PHP_SELF, mais l'adresse en cour (qui peu etre differente, rewiting par exemple), et action attendant un type de chaine URI et une URI vide n'est pas une URI valide
+1 Je n'avais pas du tout pensé à cela.

C'est du n'importe quoi ce code. Il y a à boire et à manger. Au moins on crèvera pas de faim et de soif... :fete: (pseudo compteur de visite, pseudo générateur de mot de passe, pseudo envoi de mail, etc.)

Pour commencer à ajouter au début :
$_POST = array_walk($_POST,"htmlspecialchars"); 
$region = $_POST['region'];
$departement = $_POST['departement'];
$categorie = $_POST['categorie'];
//etc.
Le array $tabRegion comporte des clefs numériques dont je ne vois pas vraiment l'utilité. Enfin bref, il y a quand même une erreur à la fin : la virgule de trop.
$tabRegion = array(
1=>'Alsace',
2=>'Aquitaine',
3=>'Auvergne',
4=>'Basse Normandie',
5=>'Bourgogne',
6=>'Bretagne',
7=>'Centre',
8=>'Champagne-Ardenne',
9=>'Corse',
10=>'Franche-Comte',
11=>'Haute-Normandie',
12=>'Ile-de-France',
13=>'Languedoc-Roussillon',
14=>'Limousin',
15=>'Lorraine',
16=>'Midi-Pyrenees',
17=>'Nord-Pas-de-Calais',
18=>'Pays-de-la-Loire',
19=>'Picardie',
20=>'Poitou-Charentes',
21=>'Provence-Alpes-Cote-d-Azur',
22=>'Rhone-Alpes');
En ce qui concerne les dates, là encore c'est...
setlocale(LC_TIME, 'fr_FR',"french");
$time6 = strftime("%d-%m-%Y-%H-%M-%S");
$time8 = strftime("%A %d %B"); 
$time9 = strftime("%H:%M");
Pour que ton générateur de mot de passe fonctionne remplacer :
$chaine = "abBDEFcdefghijkmnPQRSTUVWXYpqrst23456789";
srand((double)microtime()*1000000);
for($i=0; $i<8; $i++)
{ //mot de passe de 8 caractères
$pass .= $chaine[rand()%strlen($chaine)]; // ça ne risque pas de fonctionner correctement
}
par :
/*
 correction mot de passe 8 caractères
*/
$pass = "";
$caractere_password = array();
$caractere_numerique = array();
$caractere_majuscule = array();
$caractere_minuscule = array();

$caractere_numerique = range(0,9);
$caractere_majuscule = range("A","Z");
$caractere_minuscule = range("a","z");
$caractere_password = array_merge($caractere_numerique,$caractere_majuscule,$caractere_minuscule);


for($i = 0 ; $i < 8 ; $i++){
    shuffle($caractere_password);
    $clef_aleatoire = array_rand($caractere_password);
    $pass .= $caractere_password[$clef_aleatoire];
}