13-09-2010, 02:22 PM
(Modification du message : 13-09-2010, 03:05 PM par Sephi-Chan.)
Ok, je suis en train de tester l'appel et le traitement sur la meme page PHP
La page PHP utilise echo pour afficher la page html du formulaire.
Je rappelle que ce désign est là pour test seulement
Mais pour traiter les donnees du formulaire, je fais comment ?
je laisse un submit en mettant dans "action" le nom de la meme page certainement, mais c'est le mot "self..." qui est utilisé en général non ?
Addict a dit que c'est "?" dans action, je vais le tester.
Bon je vais afficher le code complet, je voulais pas le faire car il est long
Excusez-moi, le forum empeche d'afficher le code html qui se trouve entre les guillemets dans l'instruction php echo(). c'est pour ça qu'il y a plein de guillemets vides ici
A quel endroit de la balise [code=php] met-on l'anti-slash ?
Car le lien permettant d'afficher du code php me met chaque fois une balise code ouvrante, je vais la fermer manuellement donc.
Vala j'ai corrigé mon code et il s'affiche bien en html sur le navigateur, maintenant il faut que je vois pourquoi il ne prend pas en compte le traitement des champs^^
J'avance, j'avance... grace à vous
La page PHP utilise echo pour afficher la page html du formulaire.
Je rappelle que ce désign est là pour test seulement
Mais pour traiter les donnees du formulaire, je fais comment ?
je laisse un submit en mettant dans "action" le nom de la meme page certainement, mais c'est le mot "self..." qui est utilisé en général non ?
Addict a dit que c'est "?" dans action, je vais le tester.
Bon je vais afficher le code complet, je voulais pas le faire car il est long
Excusez-moi, le forum empeche d'afficher le code html qui se trouve entre les guillemets dans l'instruction php echo(). c'est pour ça qu'il y a plein de guillemets vides ici
<?php
/* --------------------- Liste des fonctions ------------------ */
// Renvoie TRUE si le mot est vulgaire sinon FALSE
function vulgaire($mot) {
//$tab=file("salmots",FILE_IGNORE_NEW_LINES); /* le fichier texte salmots contient une liste de mots vulgaires.*/
$tab=array("pute","con");
if(in_array($mot,$tab)) /* Teste si le mot existe dans les mots vulgaires.*/
{/* le mot fait partie des mots vulgaires.*/
return true;
}else
{/* le mot est absent des mots vulgaires.*/
return false;
}
}
// Teste si la longueur d'un mot est inférieure à $nbr, true dans ce cas sinon false;
// Sert aussi à tester si un champ est vide et demander qu'il soit saisi.
/* $letype est soit "pseudo", soit "mot de passe" soit "email". */
function testtaille($mot,$nbr,$letype)
{
/* Supprime les espaces avant et dans le mot.*/
$result=str_replace(" ","",$mot);
/* Met dans $long le nombre de caractères de $result.*/
$long=strlen($result);
/* Teste si $long est inférieur à $nbr, true dans cas sinon false.*/
if($long<$nbr){return true;}else{return false;}
}
function validmail($email) {
/* Renvoie TRUE si L'email est valide
sinon renvoie FALSE */
}
/* --------------------- Début du traitement ------------------ */
$pseudo = $_POST['pseudo'];
$pass= $_POST['pass'];
$errorMsg = array();
$pseudoOk = true;
if( vulgaire($pseudo) ) {
$error = 'Votre pseudo est un mot interdit';
$pseudoOk = false;
}
if( vulgaire($pass) ) {
$error = 'Votre mot de passe est un mot interdit';
$pseudoOk = false;
}
/* if( validmail($email) ) {
$error = 'Merci d\'utiliser un email valide.';
$pseudoOk = false;
}
*/
if( testtaille($pseudo,3,"pseudo") ) {
$error = 'Votre pseudo doit avoir plus de 3 lettres';
$pseudoOk = false;
}
if ( testtaille($pass,3,"mot de passe") ) {
$error = 'Votre mot de passe doit avoir plus de 3 lettres';
$pseudoOk = false;
}
/* ----- ici le pseudo est ok, on se connecte pour tester son existence ------------- */
if($pseudoOk) {
//CONNECTION AU SERVEUR INTERNE DE LA BASE.
$dbhost="localhost";
$dblogin="root";
$dbpassword="";
$dbname="kham";//le nom de ma base de données.
$table="joueurs";
$connecter=mysql_connect($dbhost,$dblogin,$dbpassword);
if (!$connecter){
echo "Probleme de connection au serveur. L'admin va vérifier ça :/ ";
}else
{
//............... Connection à la base de données ................
$okbase=mysql_selectdb($dbname);
//............ Si la base de donnée a un probleme on le dit............
if (!$okbase){
echo "Problème de connection à la base de données.";
}else
{
/* Teste si le pseudo existe dans la DB */
$result = mysql_query("SELECT pseudo FROM joueurs WHERE pseudo = $pseudo");
if(!$result){
// ici fait apparaitre le message utilisateur.
}else
{
mysql_close();
header("location:jouer.html");
}
}
}
}else
{
/* Ici tu réaffiches le formulaire d'enregistrement
* En indiquant les messages d'erreurs que tu as enregistrés
*/
}
echo ("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"> ".
"<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"fr\" > ".
" <head>".
" <title>KHAM</title>".
" <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" />".
"<link rel=\"stylesheet\" media=\"screen\" type=\"text/css\" title=\"Design\" href=\"kham.css\" />".
"<script src=\"kham.js\"></script> ".
"<script src=\"vulgaire.js\"></script> ".
"<script src=\"cookies.js\"></script> ".
" </head>".
" <body> ".
"<div class=\"contener\">".
"<img id=\"fond\" src=\"planetes1.jpg\" alt=\"Arriere-plan\" width=\"100%\" height:\"100%\" /> ".
"<div id=\"nomjeu\"><img src=\"kham.png\" alt=\"Nom du jeu\" width=\"400px\" height:\"105px\" /></div> ".
"<div class=\"ecran\">".
"<div class=\"menu\">".
"<div class=\"icones\">".
"<span id=\"titre1\"><a href=\"#\" onclick=\"#\">Histoire</a></span>".
"<span id=\"titre2\"><a href=\"#\" onclick=\"#\">Comment jouer</a></span>".
"<span id=\"titre3\"><a href=\"#\" onclick=\"#\">Joueurs connectés</a></span>".
"<span id=\"titre4\"><a href=\"#\" onclick=\"#\">Les champions</a></span>".
"<span id=\"titre5\"><a href=\"#\" onclick=\"#\">Profil</a></span>".
"</div>".
"</div>".
"<img src=\"tv.png\" alt=\"ecran\" width=\"100%\" height=\"100%\" />".
"<div class=\"bouton1\" id=\"lienlogin\" onclick=\"panloguer();\">Jouer</div>".
"</div>".
"<div id=\"texte\">".
"Kham est un jeu PHP 100% gratuit de science-fiction, sans téléchargement et sans flash.<br/>".
"<br/>".
"Vous pouvez vous lancer dans une carrière de marchand, de militaire, de chef de village, de dirigeant de planètes, ou simplement en aventurier vivre au jour le jour.<br/>".
"<br/>".
"Deux factions se disputent le pouvoir et le contrôle de cet univers (voir Histoire)<br/>".
"<br/>".
"<span class=\"motgras\">- Le camp de l'union</span> (bleu) : Représenté par les états-unis<br/>".
"<span class=\"motgras\">- Le camp chinois</span> (rouge) : Représenté par la chine.<br/>".
"Divers pays tant occidentaux qu'orientaux ont ralliés ces deux camps.<br/>".
"<br/>".
"Parmi les aventuriers (dont vous faites partie au début), certains n'hésitent pas à créer leur propre camp, soit par appât du gain soit par résistance ou encore mûs par un désir de pouvoir.".
"</div>".
"<div id=\"panlogin\">".
" <img id=\"img_monform\" src=\"guerrier.png\" alt=\"portrait d'un guerrier\" width=\"100%\" height=\"100%\" />".
" <div id=\"monform\">".
" <form method=\"post\" name=\"formulaire\" action=\"?\">".
" <div class=\"champ\">Votre pseudo :<input name=\"pseudo\" type=\"text\" size=\"20\"></div>".
" <div class=\"champ\">Mot de passe :<input name=\"pass\" type=\"text\" size=\"20\"></div>".
" <div class=\"bouton2\" onclick=\"tests();\">".
" <img src=\"bouton.png\" alt=\"bouton\" width=\"100%\" height=\"100%\" />".
" </div>".
" </div>".
" <img id=\"img_monform\" src=\"guerriere.png\" alt=\"portrait d'une guerriere\" width=\"150px\" height=\"150px\" />".
"</div>".
"</div>".
" </body>".
"</html>" );
?>
A quel endroit de la balise [code=php] met-on l'anti-slash ?
Car le lien permettant d'afficher du code php me met chaque fois une balise code ouvrante, je vais la fermer manuellement donc.
Vala j'ai corrigé mon code et il s'affiche bien en html sur le navigateur, maintenant il faut que je vois pourquoi il ne prend pas en compte le traitement des champs^^
J'avance, j'avance... grace à vous