L’importance du référencement sur google vous préoccupe pour votre site web?
Vous vous demandez encore ce que SEO veux dire!
Je vous propose un atelier se tenant à Montréal et qui est donné par le magicien du référencement et conférencier M. Jean Boucher.
Visiter sont site web: http://www.referencement-google.info/
Alors comme le titre l’indique “Comment valider un formulaire en PHP et empêcher de soumettre ce dernier de nouveau.” C’est ce que je vais tentez d’expliquer dans cette article. D’abord il faut planifier une bonne hiérarchie des pages.
comment je fait pour empêcher un formulaire d’être soumis à nouveau?
Télécharger le code en entier
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
| <?
/**
* index.php
*
*/
include("includes/session.php");
?>
<html>
<title>Form validation Page</title>
<style type="text/css">
* { font: 12px/14px "Lucida Grande", "Lucida Sans Unicode", Arial, sans-serif; }
.error { color: red; }
p {font-size: .8em;}
form div {
clear: left;
margin: 0;
padding: 0;
padding-top: 0.2em;
}
form div label {
float: left;
width: 15%;
}
form legend {
color: gray;
}
h1 {font-size: 1em;}
body {
text-align: center; /* to correct the centering IE bug */
}
#global {
position: relative;
margin-left: auto;
margin-right: auto;
width: 1024px; /* mandatory to be centered */
text-align: left; /* to realign your text */
}
#desc {
width: 500px;
text-align: justify;
}
</style>
<body>
<div id="global">
<?
if(isset($_SESSION['success'])){
/* Registration was successful */
if($_SESSION['success']){
echo "<h1>Succès!</h1>";
echo "<p>Merci <b>".$_SESSION['name']."</b>, vos informations ont été validé correctement et mise dans une base de donnée. <a href=\".\">RETOUR</a> ";
}
/* Registration failed */
else{
echo "<h1>Échec</h1>";
echo "<p>Nous sommes désolé mais une erreur est survenu avec votre nom: <b>".$_SESSION['name']."</b> <a href=\".\">RETOUR</a>";
}
unset($_SESSION['success']);
unset($_SESSION['name']);
} else {
?>
<h1>Comment valider un formulaire en php et empêcher de soumettre le formulaire de nouveau avec F5.</h1>
<form action="process.php" method="POST">
<div><? echo $form->error("user"); ?>
<div><label for="user">Votre nom: </label><input type="text" name="user" maxlength="15" value="<? echo $form->value("user"); ?>" />
</div>
</div>
<div><input type="hidden" name="subvalidationformulaire1" value="1"></div>
<div><input type="submit" value="Envoyer !"></div>
</form>
<?}?>
</div>
</body>
</html> |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
| <?
/**
* process.php
*
*/
include ("includes/session.php");
class Process
{
/* Constructeur de classe */
function Process()
{
global $session;
if (isset($_POST['subvalidationformulaire1']))
{
$this->procValidationDeFormulaire();
} else
{
header("Location: .");
}
}
function procValidationDeFormulaire()
{
global $session, $form;
$retval = $session->validate($_POST['user']);
if ($retval == 0)
{
$_SESSION['name'] = $_POST['user'];
$_SESSION['success'] = true;
header("Location: " . $session->referrer);
}
/* Erreur trouvé dans le formulaire */ else
if ($retval == 1)
{
$_SESSION['value_array'] = $_POST;
$_SESSION['error_array'] = $form->getErrorArray();
header("Location: " . $session->referrer);
}
/* erreur dans l'ajout a la DB */ else
if ($retval == 2)
{
$_SESSION['uname'] = $_POST['user'];
$_SESSION['success'] = false;
header("Location: " . $session->referrer);
}
}
}
;
/* Initialisation du processus */
$process = new Process;
?> |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
| <?
/**
* includes/session.php
*
*/
include("form.php");
class Session
{
var $url; //The page actuelement regarder
var $referrer; //derniere page vue
/* Constructeur de classe */
function Session(){
$this->startSession();
}
function startSession(){
session_start();
/* On retrouve la page reference */
if(isset($_SESSION['url'])){
$this->referrer = $_SESSION['url'];
}else{
$this->referrer = "/";
}
/* Set current url */
$this->url = $_SESSION['url'] = $_SERVER['PHP_SELF'];
}
function validate($subuser){
global $form;
/* On debut la validation du formulaire */
$field = "user";
if(!$subuser || strlen($subuser = trim($subuser)) == 0){
$form->setError($field, "* Aucun champ ne doit rester vide");
}
else{
/* vérifie la longueur du nom utilisé */
$subuser = stripslashes($subuser);
if(strlen($subuser) < 2){
$form->setError($field, "* Votre nom doit avoir un minimum de 2 lettres");
}
else if(strlen($subuser) > 12){
$form->setError($field, "* Votre nom doit comporter au maximum 12 lettres");
}
}
/* Si erreur existe */
if($form->num_errors > 0){
return 1; //Erreurs dans le formulaire
}
/* Pas d'erreur */
else{
if(1 == 1){
return 0; //succes
}else{
return 2; //echec
}
}
}
};
/* Initialisation de l'objet Session */
$session = new Session;
/* Initialisation de l'objet Form */
$form = new Form;
?> |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
| <?
/**
* includes/form.php
*
*/
class Form
{
var $values = array(); //Holds submitted form field values
var $errors = array(); //Holds submitted form error messages
var $num_errors; //The number of errors in submitted form
/* Class constructor */
function Form(){
/**
* Get form value and error arrays, used when there
* is an error with a user-submitted form.
*/
if(isset($_SESSION['value_array']) && isset($_SESSION['error_array'])){
$this->values = $_SESSION['value_array'];
$this->errors = $_SESSION['error_array'];
$this->num_errors = count($this->errors);
unset($_SESSION['value_array']);
unset($_SESSION['error_array']);
}
else{
$this->num_errors = 0;
}
}
/**
* setValue - Records the value typed into the given
* form field by the user.
*/
function setValue($field, $value){
$this->values[$field] = $value;
}
/**
* setError - Records new form error given the form
* field name and the error message attached to it.
*/
function setError($field, $errmsg){
$this->errors[$field] = $errmsg;
$this->num_errors = count($this->errors);
}
/**
* value - Returns the value attached to the given
* field, if none exists, the empty string is returned.
*/
function value($field){
if(array_key_exists($field,$this->values)){
return htmlspecialchars(stripslashes($this->values[$field]));
}else{
return "";
}
}
/**
* error - Returns the error message attached to the
* given field, if none exists, the empty string is returned.
*/
function error($field){
if(array_key_exists($field,$this->errors)){
return "<span class=\"error\">".$this->errors[$field]."</span>";
}else{
return "";
}
}
/* getErrorArray - Returns the array of error messages */
function getErrorArray(){
return $this->errors;
}
};
?> |
J’ai fait la traduction du thème “Wordpress Theme Librio 1.0″ créer par Denis Shakhov. Faites la demande et je vous enverrez une copie au format zippé.
Téléchargement: librio.1.0_fr_traduit_par_pixelxdesign_com.zip
J’ai fait la traduction du thème “Wordpress Theme Devart 1.0.1″ créer par Denis Shakhov. Faites la demande et je vous enverrez une copie au format zippé.
téléchargement: devart.1.0.1_fr_traduit_par_pixelxdesign_com.zip
Comment valider un code postal canadien en PHP?
J’ai trouvé un article intéressant sur la validation des codes postaux canadien sur le site de Roshan Bhattara. Mais il manquait de validation du genre que si la personne entre le code postal avec un espace ou sans espace, avec tiret ou sans tiret, alors j’ai un peu modifié sa fonction pour la rendre un peu plus conviviale.
De plus, j’y ai ajouter le calcule de caratère, sachant que le nombre de caratères pour un code postal est de 6 sans espace ni tiret.
Ca donne ceci.
<?php
/**
* validateCanadaZip()
*
* function to validate postal code of canada
* @source http://roshanbh.com.np/2008/03/canda-postal-code-validation-php.html
* {@modified by} Fred-Eric Lafaille, http://www.pixelxdesign.com/
*
* @param string $zip_code
* @return true or false
*/
function validateCanadaZip($zip_code)
{
$zip_code = strtoupper($zip_code);
$zip_code = str_replace(" ", "", $zip_code);
$zip_code = str_replace("-", "", $zip_code);
if(strlen($zip_code) < 5){
return false;
} else if (strlen($zip_code) > 6) {
return false;
}
//preg_match by Roshan Bhattara(http://roshanbh.com.np)
if(preg_match("/^([a-ceghj-npr-tv-z]){1}[0-9]{1}[a-ceghj-npr-tv-z]{1}[0-9]{1}[a-ceghj-npr-tv-z]{1}[0-9]{1}$/i",$zip_code)){
return true;
} else {
return false;
}
}
?>
12 septembre, 2008 dans
fonctions | tags:
fonctions |
Aucun commentaire
Je démarre ce blog avant tout pour moi même et aussi pour faire profiter à tous ceux qui le désire mes techniques de programmation web sous forme PHP/MySql.
J’ai débuté la programmation web il y a 2 ans et je trouve ca passionnant . Alors je vais essayer d’expliquer quelques trucs et techniques que j’utilise à tous les jours.
Bonne lecture.