Problèmes header
Ben nan c'est tres bien les pseudo-frames.
C'est pas parce que tu dois faire un header que ton site en pseudo-frames est à mettre à la poubelle.
Le tout, c'est de tester toutes les données des formulaires et de faire les header avant d'afficher les éléments du site.
Et non faire les tests sur les pages du site.
hum je vois tout à fait :-) faire les tests sur une autre page et ensuite revenir sur le formulaire... :-) je vais essayer
Ok super ca fonctionne, j'ai fait comme ca :
inscription_membre.php
(Le code posté par ce membre étant trop long, il a été automatiquement inséré dans le wall. Pour le voir, veuiller clicker sur [lien=http://www.lephpfacile.com/wall/lire_wall.php?wall=1856]ce lien[/lien])
page de verification , inscription_membre_verif.php
(Le code posté par ce membre étant trop long, il a été automatiquement inséré dans le wall. Pour le voir, veuiller clicker sur [lien=http://www.lephpfacile.com/wall/lire_wall.php?wall=1857]ce lien[/lien])
mais j'ai encore juste une petite question, avant d'arreter de vous embeter... en cas donc d'erreur car les champs sont mal rempli, comment puis je reafficher les valeurs qui avait été saisi dans les champs du formulaire ?
Et merci pour votre aide :-)
Oui, deux solutions :
- utiliser les sessions en conservant les valeurs temporaires saisies et en les replacant dans les value de ton formulaire
- faire la verification dans la meme page que le formulaire, mais "plus haut" (peut importe que ca soit dans un autre fichier), et faire comme dans ce
comment faire par exemple)
ok merci LA GLOBULE !
je vais le faire en conservant les valeurs du formulaire en dans les sessions car la deuxième solution je ne peux pas l'utiliser puisque je suis dans des pseudos frames...
merci ! je vous tiens au courant :-)
Si tu peux l'utiliser la deuxieme solution :)
Mais la premiere est toute aussi bonne :)
comment l'utiliser si dans ma page index ou sont mes pages qui se chargent ont du code html avant !
Ben tu as surement un fichier php qui contient l'entete des pages que ton site affiche.
Bref, la "page numero 1", celle ou y a le <html> dedans.
Ben c'est dans cette page qu'il faut faire le header, avant le <html>.
Peu importe que ca soit dans un autre fichier.
oki oki... je commence à comprendre...
c'est vrai que j'avais pas pensé à un truc comme ca !
je vais essayer, je vous tiens au courant :-)
merci du tuyau et désolé je débute :-)
Alors voilà, ca fonctionne j'ai fais comme ca :-) dites moi si c'est juste ou si ca peux poser problème !
donc dans ma page principale index.php ou il y a mes pseudos frames, je fais appel a une autre page avant tout code html ou quoi que ce soir que j'ai apelé application_top.php qui se compose de ca :
et ensuite dans mon formulaire j'ai mis tout simplement la ou il y avait des header j'ai remplacé par $erreur = 'URL DE LA PAGE'
<?php
include('include/application_top.php');
// VERIFICATION DE L'ENVOI DU FORMULAIRE
if (isset($_POST['inscription']) && $_POST['inscription'] == 'inscription'){
// VERIFICATION QUE TOUT LES CHAMPS SOIENT BIEN REMPLI
if (isset($_POST['login']) && !empty($_POST['login']) && isset($_POST['mdp_1']) && !empty($_POST['mdp_1']) && isset($_POST['mdp_2']) && !empty($_POST['mdp_2'])) {
// VERIFICATION QUE LES DEUX MOTS DE PASSES SOIENT IDENTIQUES
if ($_POST['mdp_1'] == $_POST['mdp_2']) {
// VERIFICATION SI CE LOGIN EXISTE DEJA DANS LA BASE
$sql = 'SELECT id FROM membre WHERE login="'.addslashes($_POST['login']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$nb = mysql_num_rows($req);
// AFFICHAGE DU RESULTAT
if ($nb == 0) {
// SI AUCUN MEMBRE AVEC LE MEME LOGIN, ON INSCRIT
$sql = 'INSERT INTO membre VALUES("", "'.addslashes($_POST['login']).'", "'.md5(addslashes($_POST['mdp_1'])).'","'.date("Y-m-d").'")';
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
$id = mysql_insert_id();
$_SESSION['login'] = $_POST['login'];
$_SESSION['id'] = $id;
$redirection = 'index.php?page=membre';
exit();
}
else
{
// SINON ON AFFICHE UNE ERREUR
$erreur = 'ce pseudo est déjà utilisé, choisis-en un autre';
$redirection = 'index.php?page=inscription_membre';
}
}
else
{
// AFFICHAGE ERREUR DES MOTS DE PASSES
$erreur = 'il faut que les deux mots de passes soient identique';
$redirection = 'index.php?page=inscription_membre';
}
}
else
{
// AFFICHAGE ERREUR QUE LES CHAMPS NE SONT PAS BIEN REMPLI
$erreur = 'il faut remplir tout les champs';
$redirection = 'index.php?page=inscription_membre';
}
}
?>
<form name="inscription_membre" method="post" action="index.php?page=inscription_membre">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="2"> </td>
</tr>
<tr>
<td colspan="2"><?php if (isset($erreur)) echo 'ERREUR : '.$erreur.''?></td>
</tr>
<tr>
<td width="33%">login</td>
<td width="67%"><input name="login" type="text" id="login" value="<?php if (isset($_POST['login'])) echo stripslashes(htmlentities(trim($_POST['login']))); ?>"> <?php if (isset($_POST['login']) && empty($_POST['login'])) echo '!' ?></td>
</tr>
<tr>
<td>mot de passe </td>
<td><input name="mdp_1" type="password" id="mdp_1" value="<?php if (isset($_POST['mdp_1'])) echo stripslashes(htmlentities(trim($_POST['mdp_1']))); ?>"> <?php if (isset($_POST['mdp_1']) && empty($_POST['mdp_1'])) echo '!' ?></td>
</tr>
<tr>
<td>mot de passe confirmation </td>
<td><input name="mdp_2" type="password" id="mdp_2" value="<?php if (isset($_POST['mdp_2'])) echo stripslashes(htmlentities(trim($_POST['mdp_2']))); ?>"> <?php if (isset($_POST['mdp_2']) && empty($_POST['mdp_2'])) echo '!' ?></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td><input name="inscription" type="submit" id="inscription" value="inscription"></td>
</tr>
</table>
</form>
et tout ca en simplifiant sur une seule page et non en deux... apparement en local ca fonctionne !
et merci de l'aide
[Message modifié le 26/11/2004 à 11:16 par LA GLOBULE]