Besoin d'un tout petit peu d'aide pour projet perso

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 : Besoin d'un tout petit peu d'aide pour projet perso

par iclo » 18 janv. 2006, 18:39

As-tu lu mon poste précédent ? :wink: :wink:
Tu dois combiner isset et !empty

par psaikopat » 18 janv. 2006, 17:11

Ok prennons par exemple ces 2 lignes de récupérations de données :
$Nom1 = $_POST['Nom1'];
$Nom2 = $_POST['Nom2'];
Il va donc falloir que je fasse ceci :
if (isset($_POST['Nom1']))
$Nom1 = $_POST['Nom1'];
else
{
	echo "Veuillez remplir tout les champs !!!";
}

if (isset($_POST['Nom2']))
$Nom2 = $_POST['Nom2'];
else
{
	echo "Veuillez remplir tout les champs !!!";
}
Pour chaque variable ou est-ce possible de combiner ?

par iclo » 18 janv. 2006, 17:04

Attention, tu dois récuperer tes variables par $_POST ou $_GET, même si un certains nombres de serveurs fonctionnent encore avec le register global à on (un post traitant de ce sujet dans la FAQ t'expliquera en détails le comment du pourquoi)

Tu utiliseras isset comme ceci :
if (isset($_POST['nianiania']))

if (isset($_GET['nianiania']))
En fonction de la méthode du formulaire.
A ça s'ajouteront d'autres test, car isset ne fait que vérffie si la variable existe, et donc ne controle que si le formulaire a été validé, et pas si les champs contiennent quelque chose.
la fonction "empty vérifie si les variables contiennent quelques choses.
Ce qui peut donner:
if (isset($_POST['nianiania']) && ! empty($_POST['nianiania']))

par psaikopat » 18 janv. 2006, 16:59

yes ok !

Mais alors de manière générale, comment faire pour vérifier si toute les valeurs sont remplies ?

On est obligé a chaque fois de faire
if (isset($nianiania))
??

par iclo » 18 janv. 2006, 16:47

De manière générale, il faut touojurs tester ce que l'utilisateur à saisie, ne serait ce que pour se prémunir de certains attaques de Hacker.
Si ton utilisateur sélectionne un parcours dans une liste déroulante (select) la meilleure façon de faire de spécifier par défaut un choix vide (par ex: "Sélectionnez un parcours") comme première (value="0") valeur dans la liste et sélectionner par défaut.
Quand tu récupères les valeurs tu testes, si le select vaut 0 tu sais que l'utilisateur n'a pas choisi de parcours.

par psaikopat » 18 janv. 2006, 16:27

Hey bien MERCI vraiment beaucoup de m'avoir fait preendre conscience qu'il fallait que je réféchisse plus a des petites astuces avant de demander de l'aide ....


Par contre aurrait tu une idée concernant ma 2eme question ?

par iclo » 18 janv. 2006, 16:20

oui, après chaque insert...

par psaikopat » 18 janv. 2006, 16:13

Pour récupérer seulement le dernier !
Mais je dois récupérer les 2 derniers !!

Mais j'y avais pensé ! ;) Merci quand meme !

-EDIT-
HA MAIS OUIIIIIIIIIII !!!!!

Je vais faire ça juste avant ma 2eme requete ! ;)

Bien joué en fait !

par iclo » 18 janv. 2006, 16:12

Tu peux utiliser
$lastId = mysql_insert_id();

Besoin d'un tout petit peu d'aide pour projet perso

par psaikopat » 18 janv. 2006, 15:35

Bonjour a tous,

Explications sur mon projet :
- site qui permet de s'inscrire a une course par équipe de 2 en VTT
- structure de la base :
Image


Voici mes petits souci :

J'ai créé un formulaire :
<html>
<body bgcolor="#FFFFFF">
<title>INSCRIPTION BIKE & RUN</title>
<form name="form1" method="post" action="inscription_sql.php">
  <table width="100%"  border="0">
    <tr>
      <td><div align="center"><b>CONCURENT 1 </b></div></td>
      <td><div align="center"><b>CONCURENT 2</b></div></td>
    </tr>
    <tr>
      <td>Nom : 
      <input type="text" name="Nom1"></td>
      <td>Nom : 
      <input type="text" name="Nom2"></td>
    </tr>
    <tr>
      <td>Pr&eacute;nom : 
      <input type="text" name="Prenom1"></td>
      <td>Pr&eacute;nom :
      <input type="text" name="Prenom2"></td>
    </tr>
    <tr>
      <td>Adresse : 
      <input name="Adresse1" type="text" size="50" maxlength="50"></td>
      <td>Adresse : 
      <input name="Adresse2" type="text" size="50" maxlength="50"></td>
    </tr>
    <tr>
      <td>Code Postal : 
      <input name="CP1" type="text" size="10" maxlength="5"></td>
      <td>Code Postal :
      <input name="CP2" type="text" size="10" maxlength="5"></td>
    </tr>
    <tr>
      <td>Ville : 
      <input type="text" name="Ville1"></td>
      <td>Ville :
      <input type="text" name="Ville2"></td>
    </tr>
    <tr>
      <td>Age : 
      <input name="Age1" type="text" size="4" maxlength="2"></td>
      <td>Age :
      <input name="Age2" type="text" size="4" maxlength="2"></td>
    </tr>
    <tr>
      <td colspan="2"><div align="center">Nom &eacute;quipe : 
        <input name="equipe" type="text" size="30" maxlength="30">
      </div></td>
    </tr>
    <tr>
      <td colspan="2"><div align="center">Parcours : 
        <select name="parcours">
          <option value="***" selected>= Séléctionnez un parcours =</option>
		  <option value="12">12 Km</option>
          <option value="15">15 Km</option>
          <option value="22">22 Km</option>
        </select>
      </div></td>
    </tr>
  </table>
  <div align="center">
    <input name="submit" type="submit" value="INSCRIRE">
  </div>
</form>
</body></html>
qui permet de renseigner les informations des concurents!
J'arrive a récupérer ces infos et a les mettre dans ma table grace a ces requetes :
$sql = "INSERT INTO lachanitoise.coureur (`Idcoureur`, `Nomcoureur`, `Prenomcoureur`, `Adressecoureur`, `Cpcoureur`, `Villecoureur`, `Agecoureur`) VALUES ('', '$Nom1', '$Prenom1', '$Adresse1', '$CP1', '$Ville1', '$Age1')";
$query = mysql_query($sql);
$sql2 = "INSERT INTO lachanitoise.coureur (`Idcoureur`, `Nomcoureur`, `Prenomcoureur`, `Adressecoureur`, `Cpcoureur`, `Villecoureur`, `Agecoureur`) VALUES ('', '$Nom2', '$Prenom2', '$Adresse2', '$CP2', '$Ville2', '$Age2')";
$query = mysql_query($sql);
PAr contre le problème vient maintenant :
- Comment récupérer les 2 derniers Identifiants des coureurs pour que je puisse faire ma requete pour remplir ma table "equipe" ???
- Comment faire pour vérifier (sans javascript) que mon select est bien remplie ? (c'est a dire que l'utilisateur a bien choisi un parcours) ??

Merci d'avance de vous intéresser a mon projet ! ;)