Du traitement à coté des cases non remplies ?
Résolu/Fermé
A voir également:
- Du traitement à coté des cases non remplies ?
- Organigramme a remplir word - Guide
- Gertrude a préparé la liste des affaires à prendre pour l'excursion. juliette a modifié cette liste en utilisant le mode suivi des modifications proposé par le traitement de texte. - Guide
- Alignez la date à droite. alignez "monsieur le directeur” à gauche. alignez des deux côtés le texte du courrier. ✓ - Forum Word
- Comment débloquer code mtn money cote d'ivoire ✓ - Forum Gmail
- Croix a cote du nom snap ✓ - Forum Snapchat
13 réponses
Atropa
Messages postés
1940
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
274
18 nov. 2009 à 22:26
18 nov. 2009 à 22:26
bonsoir,
il faut traiter et afficher le formulaire sur la même page
voilà un exemple
il faut traiter et afficher le formulaire sur la même page
<form action="#" method="post"> <p> <input type="text" name="unchamp" /> <?php if(isset($_POST['unchamp']) && $_POST['unchamp'] == '') echo 'remplis ce champ tout de suite ou t\'es mort !'; ?> </p> </form>
voilà un exemple
afficher le formulaire sur la même page ? d'extension html ou php ?
si c sur une extension php, c possible d'écrire du code html dans cette extension, c-à-d même le DOCTYPE et tout ?
si c sur une extension php, c possible d'écrire du code html dans cette extension, c-à-d même le DOCTYPE et tout ?
Atropa
Messages postés
1940
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
274
18 nov. 2009 à 22:55
18 nov. 2009 à 22:55
ben oui heureusement ! ce serait la misère sinon
et oui j'ai oublié de préciser il faut changer l'extension .html en .php
essaye ca juste pour voir sur un fichier php
c'est très souple il y a plein de facon de méler le php au html...
et oui j'ai oublié de préciser il faut changer l'extension .html en .php
essaye ca juste pour voir sur un fichier php
<?php for($i=0;$i<10;$i++) { ?> <p>a ce niveau nous sommes <?php echo $i; ?></p> <?php } ?>
c'est très souple il y a plein de facon de méler le php au html...
Merci pour l'idée de mettre tt sur un même fichier, et ça a marcher de mettre du code HTML dans une extension php.
Mais c pas encore parfait :(
Notice: Undefined index: nom in C:\wamp\www\formulaire_avec_traitement.php on line 28
veuillez saisir votre nom
c ce qu'on m'a écrit à coté de du le case "nom", j'ai essayer de définir
j'ai écrit plus haut ... , bon je vs donne le code que j'ai fait :
<table >
<tr>
<td>Nom:</td>
<td><input type="text"name="nom"size="30"maxlength="40"/></td>
<td>
<?php
if(strlen($_POST['nom'])>0)
{$nom=stripslashes($_POST['nom']);
}
else
{$nom=NULL;
echo"veuillez saisir votre nom <br/>";
}
?>
</td>
c'est quoi l'erreur ?
Mais c pas encore parfait :(
Notice: Undefined index: nom in C:\wamp\www\formulaire_avec_traitement.php on line 28
veuillez saisir votre nom
c ce qu'on m'a écrit à coté de du le case "nom", j'ai essayer de définir
j'ai écrit plus haut ... , bon je vs donne le code que j'ai fait :
<table >
<tr>
<td>Nom:</td>
<td><input type="text"name="nom"size="30"maxlength="40"/></td>
<td>
<?php
if(strlen($_POST['nom'])>0)
{$nom=stripslashes($_POST['nom']);
}
else
{$nom=NULL;
echo"veuillez saisir votre nom <br/>";
}
?>
</td>
c'est quoi l'erreur ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
avion-f16
Messages postés
19246
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 avril 2024
4 497
18 nov. 2009 à 23:30
18 nov. 2009 à 23:30
Si tu veux afficher les erreurs avant l'envoie du formulaire, utilise le Javascript.
Si tu as déjà quelques basesen JS, j'ai un exemple ici.
Garde toujours ta vérification côté serveur avec PHP.
Si tu as déjà quelques basesen JS, j'ai un exemple ici.
Garde toujours ta vérification côté serveur avec PHP.
Je n'y ai rien compris, on a pas encore étudier du JS
on pourrait pas avoir un résultat similaire juste avec du PHP
on pourrait pas avoir un résultat similaire juste avec du PHP
Atropa
Messages postés
1940
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
274
19 nov. 2009 à 00:42
19 nov. 2009 à 00:42
correction !
<table > <tr> <td>Nom:</td> <td><input type="text"name="nom"size="30"maxlength="40"/></td> <td> <?php // il faut tester l'existence de la variable avant tout ! // empty test la non existence ou la valeur 0, '' et null retourne true dans ce cas // isset test l'existence et retourne true dans ce cas // quand tu n'as qu'une instruction dans un if else ou autre tu peux supprimer les {} if(!empty($_POST['nom']) && strlen($_POST['nom'])>0) $nom=stripslashes($_POST['nom']); else { $nom=NULL; // Est ce vraiment utilise ? echo 'veuillez saisir votre nom <br/>'; // Evite les guillemet double sauf pour les caractère \r\n\t... } ?> </td>
merci ! il n' y a plus de warning
mais j'ai tjs qlq remarques à propos de l'execusion :
- si c possible "veuillez saisir votre nom" ne devrait pas parraitre au début, mais après l'envoi des données
( sans avoir entré le nom )
mais c pas tellement grave !
- Ce qui est plus interressant c de savoir cmt afficher une autre page, dans laquelle on remercie l'internaute, après avoir appuyer sur envoyer, puisque là, on reste tjs sur la même page !! :-/
Merci encore pr votre patience
mais j'ai tjs qlq remarques à propos de l'execusion :
- si c possible "veuillez saisir votre nom" ne devrait pas parraitre au début, mais après l'envoi des données
( sans avoir entré le nom )
mais c pas tellement grave !
- Ce qui est plus interressant c de savoir cmt afficher une autre page, dans laquelle on remercie l'internaute, après avoir appuyer sur envoyer, puisque là, on reste tjs sur la même page !! :-/
Merci encore pr votre patience
biensure en ayant 2 types de traitements, ceux qui font signe d'erreur lorsque les cases ne sont pas remplies, et l'autre type de traitements qui va par exemple remercier l'internaute
Atropa
Messages postés
1940
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
274
19 nov. 2009 à 01:53
19 nov. 2009 à 01:53
à ce moment là tu fait
désolé je n'avais pas regardé le sens du code j'avais juste regardé d'où pouvais venir l'erreur
if(isset($_POST['nom'])) { if(strlen($_POST['nom'])>0) $nom=stripslashes($_POST['nom']); else { $nom=NULL; // Est ce vraiment utilise ? echo 'veuillez saisir votre nom <br/>'; // Evite les guillemet double sauf pour les caractère \r\n\t... } }
désolé je n'avais pas regardé le sens du code j'avais juste regardé d'où pouvais venir l'erreur
waw, ça marche !
Sympa d ta part
et pour la 2 ème partie de ma question, le 2ème tiret (msg avant-dernier) ?
(vraiment j'ai honte de vous embêter sur le même sujet )
si vs n'aviez pas compris paske jmété mal exprimé, bon jereformule :
on ayant du traitement sur la meme page, on écrit le formulaire et le traitement sur le même fichier php, là on est d'accord . mais ça n'a pu etre réalisé que pask'après avoir apuyer sur submit, ça renvoie vers le mm fichier.
cmt serrait il possible d'avoir en mm tps du traitement sur la mm page pr signaler des erreurs de nn remplissage de cases, et du traitemt pr renvoyer par exemple un remerciment à l'internaute .
Je m'excuse de trop insister ! :-s
Sympa d ta part
et pour la 2 ème partie de ma question, le 2ème tiret (msg avant-dernier) ?
(vraiment j'ai honte de vous embêter sur le même sujet )
si vs n'aviez pas compris paske jmété mal exprimé, bon jereformule :
on ayant du traitement sur la meme page, on écrit le formulaire et le traitement sur le même fichier php, là on est d'accord . mais ça n'a pu etre réalisé que pask'après avoir apuyer sur submit, ça renvoie vers le mm fichier.
cmt serrait il possible d'avoir en mm tps du traitement sur la mm page pr signaler des erreurs de nn remplissage de cases, et du traitemt pr renvoyer par exemple un remerciment à l'internaute .
Je m'excuse de trop insister ! :-s
Atropa
Messages postés
1940
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
274
19 nov. 2009 à 10:35
19 nov. 2009 à 10:35
c'est simple mais il faut toujours tester l'existence des variable
je te fais un exemple rapide sert t'en de schéma générale mais rien empêche les include...
je te fais un exemple rapide sert t'en de schéma générale mais rien empêche les include...
<?php function protect($string) { $string = htmlentities($string,ENT_QUOTES); $char = array( '='=>'=', '%'=>'%', '!'=>'!', '_'=>'_', '|' => '|', '(' => '(', ')' => ')', '{' => '{', '}' => '}', '[' => '[', ']' => ']', ); $string = strtr($string,$char); if ($stringSql = @mysql_real_escape_string($string)) return $stringSql; else return $string; } function ProtectArray($item) { if(is_array($item)) { $temp = array(); foreach($item as $key => $a) { if(is_array($a)) $temp[$key] = ProtectArray($a); elseif(is_string($a)) $temp[$key] = protect($a); else $temp[$key] = $a; } return $temp; } elseif(is_string($item)) return protect($item); else return $item; } // Voilà 2 fonction qui te permetteront de sécuriser tout ton site automatique des injections sql et html if(isset($_GET)) $_GET = ProtectArray($_GET); if(isset($_POST)) $_POST = ProtectArray($_POST); if(isset($_COOKIE)) $_COOKIE = ProtectArray($_COOKIE); // comme ça tout est protégé d'entré !!! si tu as besoin de la variable original html_entity_decode() de "déprotège" if(!empty($_POST['name']) && !empty($_POST['mail'])) { //* $message = 'Nom : '.$_POST['name']."\r\n".'Mail : '.$_POST['mail']; file_put_contents('./monfichier.txt',$message,LOCK_EX); //*/ //enregistrement dans un fichier txt par exemple... $masquerLeFormulaire = true; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> </head> <body> <?php if(!isset($masquerLeFormulaire)) { ?> <form action="#" method="post"> <p> <label for="name">Name : </label><input type="text" name="name" id="name" size="20" maxlength="30" <?php if(isset($_POST['name'])) echo 'value="'.$_POST['name'].'" '; ?>/><?php if(isset($_POST['name']) && $_POST['name'] == '') echo ' | Veuillez remplir le champ Name'; ?><br /> <label for="mail">Mail : </label><input type="text" name="mail" id="mail" size="50" maxlength="30" <?php if(isset($_POST['mail'])) echo 'value="'.$_POST['mail'].'" '; ?>/><?php if(isset($_POST['mail']) && $_POST['mail'] == '') echo ' | Veuillez remplir le champ Mail'; ?><br /> <input type="submit" value="Envoyer" /> </p> </form> <?php } else { ?> <div><h1>merci d'avoir remplis le formulaire !!!!</h1></div> <?php } ?> </body> </html>