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 : Formulaire

Re: Formulaire

par fxzone » 29 avr. 2012, 12:50

Bonjour!
Vous avez tous les deux raisons.

J'ai modifié mon code:
1. Je veux afficher les cinq champs avec une structure de phrase bien précise (en html), s'il y a une erreur d'orthographe je veux afficher "Aucun Résultat".

2. j'ai réussi une première phase avec une structure, mais sans faire une vérification du champ "patronyme".

3. En ce moment je suis à court d'idée.

Voici mes deux fichiers php

1. traitement.php (qui fonctionne mais sans vérification).
2. traitement2.php (avec verification, qui fonctionne plus ou moins bien et sans formatage en html).

Merci! beaucoup pour votre aide.
Archive.zip

Re: Besoin d'aide !

par albat » 12 avr. 2012, 21:44

Mazarini a raison : mon code lève les deux erreurs bloquantes mais il ne suffit pas.
Il faut en effet que tu testes et valides la valeur de la variable que tu vas injecter dans ta requête SQL.

Ce sujet n'est donc pas résolu... ;)

Re: Besoin d'aide !

par Mazarini » 12 avr. 2012, 21:14

Bonjour,

Il y a un traitement à prévoir lorsque le nom n'a pas été saisi, lorsque le nom saisi ne correspond à rien dans la table et lorsque le nom contient une double quote.

Enfin, ca me semble un bonne suite à ton étude.

Re: Besoin d'aide !

par fxzone » 12 avr. 2012, 20:29

Bonjour! Albat,
J'ai fait les changements, tout fonctionne très bien.

Merci!
Je retourne étudier!

Re: Besoin d'aide !

par albat » 12 avr. 2012, 19:56

Ta page traitement.php contient 2 erreurs bloquantes :
- date est un mot réservé. Tu ne peux donc l'utiliser pour nommer un champ.
- ta requête est fausse.

Renomme le champ date en date_arrivee, par exemple, et utilise cette requête :
$sql = "SELECT date_arrivee FROM famille WHERE patronyme = '".$_POST['patronyme']."'";
Ça marche mieux ?

Formulaire

par fxzone » 12 avr. 2012, 19:02

Bonjour! à tous,
Je cherche seulement à faire un formulaire (une boite de texte) et un bouton (envoyer) pour interroger une base de données
et me retourner la réponse dans une autre page.

Ma base de données a seulement 3 champs (ID, NOM, DATE)
Nom de la base : Patronyme
Nom de la table : famille

Dans mon formulaire j'entre un nom, je soumets le formulaire et la base de données me renvoie la date qui correspond au nom.

Code de ma page formulaire.html
<html>
<head>
<title>Ma page de test</title>
</head>
<body>
<form action = "traitement.php" method="post">
Votre nom : <input type = "text" name = "patronyme"><br />
<input type = "submit" value = "Envoyer">
</form>
</body>
</html>


Code de ma page traitement.php
<?php
// on se connecte à notre base
$base = mysql_connect ('localhost', 'root', 'root');
mysql_select_db ('Patronyme', $base) ;
?>
<html>
<head>
<title>Ma page de traitement</title>
</head>
<body>
<?php
// lancement de la requete
$sql = 'SELECT * FROM famille WHERE patronyme = "date"';

// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

// on recupere le resultat sous forme d'un tableau
$data = mysql_fetch_array($req);

// on libère l'espace mémoire alloué pour cette interrogation de la base
mysql_free_result ($req);
mysql_close ();
?>
Vos ancetres sont arrive en:<br />
<?php
echo $data['date'];
?>
</body>
</html>


Merci! pour votre aide.