Page 1 sur 1
Message d'erreur
Posté : 24 juin 2005, 09:09
par psaikopat
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 :
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
Posté : 24 juin 2005, 09:10
par zeus
J'ai pas vraiment compris ton problème.
Tu veux tester quoi et quand ? la présence du code au moment de la validation ?
Posté : 24 juin 2005, 09:14
par psaikopat
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
Posté : 24 juin 2005, 09:56
par zeus
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
Posté : 24 juin 2005, 10:00
par psaikopat
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?
Posté : 24 juin 2005, 10:06
par zeus
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);
Posté : 24 juin 2005, 10:28
par psaikopat
//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...
Posté : 24 juin 2005, 10:47
par zeus
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>
Posté : 24 juin 2005, 10:55
par psaikopat
Merci je vais essayé de voir ce qui va pas dans mon code!
Merci Zeus