javascript et php

Eléphanteau du PHP | 37 Messages

12 mai 2009, 10:19

hello...me revoila!!!
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Créer Comp</title>
<style type="text/css">

a {
	font-family: Tahoma, Verdana, "Colonna MT", sans-serif;
}

</style>
	<script language="javascript">
		function redirection() 
		{
			document.location.href="./creer_pilote.php"
		}
	</script>
</head>

<body>
	
	<?php
		if (empty($_POST['pseudo']) || empty($_POST['mdp']) || empty($_POST['age']))
		{
			echo '<script language="JavaScript" onclick="./creer_pilote.php">';
			echo 'alert ("Pseudo, mot de passe, et age obligatoire")';
			echo 'document.location.href="./creer_pilote.php"';
			echo'</script>';
			
			//header ("Location: ./creer_pilote.php");
		}else
		{
			$pseudo = $_POST['pseudo'];
			$mdp = $_POST['environnement'];
			$admin = $_POST['admin'];
			$nom = $_POST['nom'];
alors mon souci est au niveau du javascript.
j'ai ma fonction dans le head, pour faire une redirection.
dans le code php, j'ai un scrip javascrip, le alert fonctione quand je met en commentaire les diverse tentative de redirection.
le 'document.location.href="./creer_pilote.php ne fonctionne pas...et si à la place de ça, je met echo'redirection()'; ça marche pas non plus!!!

vous avez une idée?

ViPHP
ViPHP | 1136 Messages

12 mai 2009, 10:39

Slt ,

Je ne pense pas que la propriété "onclick" soit vraiment à sa place ...

Pourquoi t'embêter à faire une redirection Js , alors que tu peux simplement le faire directement via php ?

Comme tu l'as déjà commencé d'ailleurs ..

Exemple simple :

$destination = "./creer_pilote.php";
header("Status: 200");
header("Location: $destination");
exit;

Eléphanteau du PHP | 37 Messages

12 mai 2009, 11:22

merci bien!!

j'ai reussi avec le javascript. avec une fonction.
en fait c'est un projet pour mon BTS...alors insérer du JS dans du PHP...ça màontre qu'on essaye des chose...enfin!!
par contre, je comprend pas à quoi sert le ligne header("Status: 200");????

ViPHP
ViPHP | 1136 Messages

12 mai 2009, 12:06

Le status 200 , permet de définir le status :lol:

C'est un utilisateur qui a remarqué un bug avec chrome , ce type de redirection ne fonctionne que si le status est définie auparavant ..

Donc .. ( mais ce n'est vraiment pas obligatoire ).

Ch.

ViPHP
AB
ViPHP | 5818 Messages

12 mai 2009, 22:55

merci bien!!

j'ai reussi avec le javascript. avec une fonction.
en fait c'est un projet pour mon BTS...alors insérer du JS dans du PHP...ça màontre qu'on essaye des chose...enfin!!
Bah oui mais non car dans ce contexte c'est précisément un mauvais exemple.
Si js est désactivé le visiteur n'aura pas de message et la redirection ne fonctionnera pas.
D'une manière générale on génère du JS via php quand c'est utile mais pas quand il y a des solutions php bien plus adaptées.

Il serait intéressant de faire une première vérification en js mais à la soumission du formulaire

Code : Tout sélectionner

<form action = "#" method = "post" onsubmit = "verif_champs_formulaire()">
où verif_champs_formulaire() est une fonction js que tu crées pour vérifier si les champs sont remplis ou non.
Ensuite en php tu reprends ton code initial avec une redirection via un header au cas où les champs seraient néanmoins vides (si JS désactivé). Ainsi JS et PHP sont complémentaires, et JS (si activé) permet d'éviter de soumettre le formulaire et d'avertir l'utilisateur.