Message d'erreur

Eléphant du PHP | 139 Messages

24 juin 2005, 09:09

Bonjour a tous,

voila mon souci : J'ai un formulaire qui permet de rechercher dans une base un code a 7 chiffres, je veu aafficher un message d'erreur si le code n'est pas dans la table.

Voici un bout de code :
FORM :

Code : Tout sélectionner

<form name="monform4" method="post" action="<?php echo "manuelle.php?util=" . $_GET['util'] ; ?>"> <input type="text" name="manuelle" value=""> <input type="submit" name="valid" value="VALIDER" style="background:green"> </form>
Voici maintenant comment je récupère le code saisie par l'utilisateur
MANUELLE :

Code : Tout sélectionner

$Code_manuel=$_POST['manuelle'];
J'aimerai donc utiliser un petit bout de JAVASCRIPT pour afficher un message d'alerte en disant de saisir un nouveau code !

MERCI D'AVANCE

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

24 juin 2005, 09:10

J'ai pas vraiment compris ton problème.

Tu veux tester quoi et quand ? la présence du code au moment de la validation ?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 139 Messages

24 juin 2005, 09:14

Oui j'allais le rééditer !!!

Ce n'est pas la présence du code dans le formulaire mais voir si le code est contenu dans la table. S'il ne l'est pas : message d'erreur :" SELECTIONNEZ UN AUTRE CODE"

Merci Zeus

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

24 juin 2005, 09:56

Tu ne peut pas tester l'existence d'une valeur dans une BdD en JS

Si tu veux faire ça, il faut que ton formulaire validé redirige vers un script PHP qui va faire la vérification et qui pourra afficher un message d'erreur en cas de doublons
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 139 Messages

24 juin 2005, 10:00

Ok donc est-ce bien ce ke je viens de faire a l'instant :
$Code_manuel=$_POST['manuelle'];
mysql_select_db($database_etiquette, $etiquette);
$query_Recordset1 = "SELECT Code_Article, Libelle_Article FROM article WHERE Code_Article = '$Code_manuel'";
$Recordset1 = mysql_query($query_Recordset1, $etiquette) or die(mysql_error());
$row_Recordset1 = mysql_fetch_array($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
if ($row_Recordset1['Code_Article'] <> null) {
$Code_image=$row_Recordset1['Code_Article'] ;
mysql_select_db($database_etiquette, $etiquette);
Si c'est bien ça! Ou dois je mettre le bout de code pour informer l'utilisateur qu'il a saisie un mauvais code?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

24 juin 2005, 10:06

Est-ce que tu peut me mettre des commentaires sur cette partie, je ne vois pas trop ce que tu veux faire :
$row_Recordset1 = mysql_fetch_array($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
if ($row_Recordset1['Code_Article'] <> null) {
$Code_image=$row_Recordset1['Code_Article'] ;
mysql_select_db($database_etiquette, $etiquette);
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 139 Messages

24 juin 2005, 10:28

//récupération du code saisie sur Index2.php
$Code_manuel=$_POST['manuelle'];
//Récuperer le code_article + le libelle_article
mysql_select_db($database_etiquette, $etiquette);
$query_Recordset1 = "SELECT Code_Article, Libelle_Article FROM article WHERE Code_Article = '$Code_manuel'";
$Recordset1 = mysql_query($query_Recordset1, $etiquette) or die(mysql_error());
$row_Recordset1 = mysql_fetch_array($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
//test je sais pas trop sur koi
if ($row_Recordset1['Code_Article'] <> null) {
$Code_image=$row_Recordset1['Code_Article'] ;
En espérant que cela t'aide!! J'éspère...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

24 juin 2005, 10:47

Vu tes commentaires, je ne suis pas sûr que ce code soit de toi donc je t'ai fait une base que tu devrais lire et essayer de comprendre avec mes commentaires :
<?php
    //Si le formulaire est validé (on teste si le bouton de validation existe)
    if (isset($_POST["valid"])) {
        //On rècupére la valeur POST dans une variable plus facile à manipuler
        $manuelle = $_POST["manuelle"];
        //Si le code n'est pas saisi => affichage d'un message d'erreur
        if ($manuelle == "") {
            echo "<font color='red'>Vous devez saisir un code</font>\n";
        } else { //le code est saisi
            //On construit la requete qui va compter le nombre de ligne dont le code est le même que celui saisi
            $str_requete = "SELECT COUNT(*) FROM article WHERE Code_Article = '$manuelle'";
            $o_nb = mysql_query($str_requete) or die(mysql_error());
            //On récupère le résultat de la 1ere ligne, 1ere colonne des résultats retournés par la requete
            $nb = mysql_result($o_nb, 0, 0);
            if ($nb > 0) //Si il existe d'autres enregistrements avec le même code
                echo "<font color='red'>Le code existe déjà. Veuillez en tapper un autre</font>\n";
            else { //Si le code n'est pas déjà dans la base, on continue sur la page suivante
                header ("Location; pageSuivante.php");
                exit;
            }
        }
    }
?>

<form name="monform4" method="post" action="<?php echo "manuelle.php?util=" . $_GET['util'] ; ?>">
    <input type="text" name="manuelle" value="<?= $manuelle ?>">
    <input type="submit" name="valid" value="VALIDER" style="background:green">
</form>
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 139 Messages

24 juin 2005, 10:55

Merci je vais essayé de voir ce qui va pas dans mon code!
Merci Zeus