Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/02/2011, 17h53   #1
Invité de passage
 
Inscription : février 2011
Messages : 13
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 13
Points : 1
Points : 1
Par défaut Validation de formulaire en javascript et envoi en PHP

Bonjour,
Je suis débutant en programmation web, et je faisais pour pratiquer un petit formulaire sur lequel j'appliquais un script javascript pour vérifier si les champs étaient remplis avec ensuite envoi du formulaire au serveur.
Helas comme vous vous en doutez ça ne marche pas...

Je recopie ci dessous le code de ma page HTML et celle de la cible en PHP en esperant que quelqu'un puisse m'aider.

Page HTML

Code :
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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 
 
<html>
<head>
	<title>Identification</title>
 
<script type="text/javascript">
function valider(frm){
	if((frm.elements['log'].value !="")&&(frm.elements['pwd'].value !="")){
	return true;
	}else if((frm.elements['log'].value == "")||(frm.elements['pwd'].value == "")){
	if(frm.elements['log'].value == ""){
	alert("Saisissez votre login");
	}
	if(frm.elements['pwd'].value == ""){
	alert("Saisissez votre mot de passe");
	}
	return false;
	}
	}
</script>
</head>
 
<body>
 
<h1>Knutt's Workshop</h1>
 
<form id="ident" enctype="text/plain" 
	method="post" action="identconex.php" onsubmit="return valider(this)"/>
 
	<fieldset>
	<legend>Veuillez vous identifier</legend>
		<p>
			<label for="identlog">Login : </label>
			<input type="text" id="identnom" name="log"/>
		</p>
		<p>
			<label for="identpwd">Mot de Passe : 
			<input type="password" id="identpwd" name="pwd"/>
		</p>
		<p>
			<input type="submit"value="valider"/>
		</p>
	</fieldset>
</form>
 
 
</body>
</html>
Cible identconex.php
Code :
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
 
<?php
 
	$pwd = $_POST['pwd'];
	$log = $_POST['log'];
 
	if(isset($log)&&isset($pwd)){
		if($log == 'tata' && $pwd =='toto'){
 
		echo'ouais';
 
		}else if(($log !="tata")||($pwd !="toto")){
			if($log != 'tata'){
				echo"Identifiant incorrect <br />";
				}
			if($pwd != "toto"){
				echo"Mot de passe incorrect <br />";
				}
		echo'<a href="ident.php">Retour au formulaire</a> <br />';
		}
		}else{
		echo'Veuillez saisir un identifiant et un mot de passe !';
	}
 
?>
Knutt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2011, 00h56   #2
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Le problème semble venir de enctype.
Avec
Code :
enctype="application/x-www-form-urlencoded"
ça marche. (Ce n'est pas un problème de js mais de html)
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2011, 01h58   #3
Membre Expert
 
Avatar de Eric2a
 
Homme Eric Garidacci
Inscription : septembre 2005
Messages : 1 057
Détails du profil
Informations personnelles :
Nom : Homme Eric Garidacci
Âge : 41

Informations forums :
Inscription : septembre 2005
Messages : 1 057
Points : 1 564
Points : 1 564
Tu as une réponse ici.
__________________

N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].

Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ...
Eric2a est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2011, 10h03   #4
Invité de passage
 
Inscription : février 2011
Messages : 13
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 13
Points : 1
Points : 1
Ok! Merci beaucoup pour le enctype je n'avais effectivement pas du tout pensé que ça pouvait venir de là! Il y a une raison pour que text/plain ne permette pas de transmettre des données a une page php ?
Knutt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2011, 10h34   #5
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Citation:
Il y a une raison pour que text/plain ne permette pas de transmettre des données a une page php ?
Je n'en sais rien ; en fait, j'ai constaté en recopiant ton code et en le mettant en ligne que ces deux variables :
Code :
1
2
$pwd = $_POST['pwd'];
$log = $_POST['log'];
étaient vides (en faisant juste un echo). Donc, je me suis inspiré du bouquin (PHP5 de Jean Engels chez Eyrolles) avec lequel j'ai appris le PHP (en 2007) et ai recopié un exemple.
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2011, 20h27   #6
Invité de passage
 
Inscription : février 2011
Messages : 13
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 13
Points : 1
Points : 1
Pour le moment je suis surtout avec W3school et les tutos du site du zero mais j'ai tendance a préférer avoir un support papier alors est ce que cet ouvrage vos le coup ?
Knutt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2011, 21h58   #7
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Oui, moi j'ai appris le PHP uniquement avec ça (ça ne m'a pas été trop dûr, car j'ai derrière moi une dizaine d'années de codage en C et que le PHP vient du C (ou plutôt du C++))(tout comme le javascript d'ailleurs)(mais le truc du enctype, c'est du html, mais dans ce bouquin, il y a tout un chapître sur les formulaires, et pour te répondre, je m'étais servi du bouquin). En tout ca, ce livre me sert encore de bible et je m'y réfère quand j'ai un trou ou ai besoin d'un exemple de code.
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2011, 22h09   #8
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 930
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 930
Points : 4 744
Points : 4 744
il existe aussi en ligne Les formulaires et PHP5, c'est sur developpez.net.
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h28.


 
 
 
 
Partenaires

Hébergement Web