JeuWeb - Crée ton jeu par navigateur
un showmessage() avec PHP ? - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : un showmessage() avec PHP ? (/showthread.php?tid=2801)

Pages : 1 2 3 4 5 6


RE: un showmessage() avec PHP ? - gameprog2 - 13-09-2010

Citation :lit ceci http://www.phpdebutant.org/article56.php !!!!!!!!! grgrgrg argggghghgh screugneugneu
Mais Addict Wink
Je l'ai lu déjà pour apprendre le PHP, seulement ce n'est pas ce que je veux obtenir, ce que je veux (hummm enième répétition^^ : Obtenir un message utilisateur sans quitter la page courante).
Dans le cas que tu me dis de voir sur PHPdébutant, le message utilisateur sera affiché sur une page blanche :non:
Ne pense pas que je ne te suis pas^^ mais cela ne correspond pas à mon problème :pleure2:

Ah au fait, très important !!!!
Merci à tous !!! :respect:


RE: un showmessage() avec PHP ? - atra27 - 13-09-2010

tu sais comment php fonctionne?

Cadeau: http://www.siteduzero.com/tutoriel-3-197288-introduction-a-php.html
(ouais c'est mesquin d'envoyer sur le sdz vu que ce site est vraiment bien juste pour les bases... mais la on parle bien juste des bases!)

Probléme réglé! Big Grin


RE: un showmessage() avec PHP ? - niahoo - 13-09-2010

le probleme d'utiliser javascript pour utiliser le comportement normal, c'est que des fois on n'a pas javascript.

Sur prestashop j'utilise PHP_SELF car il me permet de garder les varaibles d'url telles que le nom du script demandé et le token d'authentification.


RE: un showmessage() avec PHP ? - gameprog2 - 13-09-2010

Citation :tu sais comment php fonctionne?
Pff Atra :nonon:
Qui a dit ça ?

Citation :Je l'ai lu déjà pour apprendre le PHP
Cela ne veut pas dire que je connais 100% du PHP non ? sinon je ne serais pas là à poser des questions.

En plus, tu dis probleme réglé, mais non, ce que tu poste n'apporte rien à ma question Wink
Et je rappelle que ce n'est pas faire un formulaire que je demande, ça je sais faire, c'est seulement comment ne pas avoir la page blanc.......agreugneugneu.... je me répète combien de fois oO ? :pleure2:


RE: un showmessage() avec PHP ? - Sephi-Chan - 13-09-2010

Je pense que ta page est blanche car il y a une erreur et que ta configuration n'affiche pas les erreurs. Par exemple, on peut lire dans ton code :


$okbase=mysql_selectdb($dbname);

Ça, ça doit lancer une erreur (il manque un underscore entre select et db). Si tu ne la vois pas, c'est que tu ne les affiche pas.
Pour corriger cela, ouvre ton fichier php.ini (débrouille-toi pour le trouver) et cherche l'expression display_errors dedans, et fais les modifications qui s'imposent. Ensuite tu sauvegardes le fichier et tu relances ton serveur.


Sephi-Chan


RE: un showmessage() avec PHP ? - gameprog2 - 13-09-2010

Citation :Ça, ça doit lancer une erreur (il manque un underscore entre select et db). Si tu ne la vois pas, c'est que tu ne les affiche pas.
Pour corriger cela, ouvre ton fichier php.ini (débrouille-toi pour le trouver) et cherche l'expression display_errors dedans, et fais les modifications qui s'imposent. Ensuite tu sauvegardes le fichier et tu relances ton serveur.
Merci de cette info, je vais faire ça !

J'ai regardé le fichier ini de PHP et les options convenables sont à ON.
La page blanche vient du fait que je travaillais sur une page HTML (formulaire), et en faisant submit() cela chargait la page PHP de traitement du formulaire, donc page blanche.
Ce que j'ai alors fait sur le conseil de niahoo c'est de faire une page PHP qui affiche du HTML (formulaire) et qui traite les données du formulaire en s'appelant elle-même dans le "action" du formulaire.
Alors pour faire ça, j'ai essayé d'abord de metre action="?" puis action="$_SERVER[PHP_SELF]" (un truc dans le genre) puis sur ton conseil j'ai laissé finalement l'action à vide : <form .......action="">

Pour le moment je n'ai plus de page blanche mais je n'ai pas encore le traitement des données, je réfléchis au pourquoi en ce moment, j'espère trouver, sinon demain je posterais où j'en suis^^

Pour info, je donne mon code on sait jamais^^


<?php
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\" name='process' onclick=\"javascript:document.formulaire.submit();\">".
" <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 id=\"panmessage\">".
"</div>");

/* --------------------- Liste des fonctions ------------------ */

// Renvoie TRUE si le mot est vulgaire sinon FALSE

function vulgaire($mot) {
//$tab=file("salmots",FILE_IGNORE_NEW_LINES);
$tab=array("pute","con");
if(in_array($mot,$tab))
{
return true;
}else
{
return false;
}
}

function testtaille($mot,$nbr,$letype)
{
$result=str_replace(" ","",$mot);
$long=strlen($result);
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 ------------------ */

if ( isset($_POST['pseudo']) )
{
$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.
echo ("<script type=\"javascript\">".
"document.getElementById(\"panlogin\").style.visibility=\"hidden\";".
"document.getElementById(\"panmessage\").innerHTML=\"Message utilisateur\";".
"document.getElementById(\"panmessage\").style.visibility=\"visible\";".
"</script>");
}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
*/

}

} // fin du if $pseudoOk

echo("</div>".
" </body>".
"</html>" );

?>

Et ça donne une page HTML avec ce code source :


<!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" name='process'
onclick="javascript:document.formulaire.submit();">
<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 id="panmessage"> </div>
</div>
</body>
</html>



RE: un showmessage() avec PHP ? - niahoo - 14-09-2010

pour l'affichage des errors, tu dois pouvoir les afficher en faisant:

error_reporting(E_ALL | E_STRICT);
ini_set('display_errors','on');

Gaffe pasque WAMP contient plusieurs php.ini, il faut éditer celui donné par le menu dans le system tray

(enfin moi je préconise d'installer apache, php et mysql de façon classique plutôt que passer par wamp. (mais c'est aussi se passer des fonctionnalités bien sympa de wamp)


RE: un showmessage() avec PHP ? - gameprog2 - 14-09-2010

Ah je n'ai pas précisé c'est vrai, je suis sous EasyPHP Version 5.3.1 !
(donc Apache/MySql et bloc note).
Voilà ce que j'ai :



; display_errors
; Default Value: On
; Development Value: On
; Production Value: Off

; display_startup_errors
; Default Value: Off
; Development Value: On
; Production Value: Off

; error_reporting
; Default Value: E_ALL & ~E_NOTICE
; Development Value: E_ALL | E_STRICT
; Production Value: E_ALL & ~E_DEPRECATED

; html_errors
; Default Value: On
; Development Value: On
; Production value: Off

; log_errors
; Default Value: Off
; Development Value: On
; Production Value: On

; magic_quotes_gpc
; Default Value: On
; Development Value: Off
; Production Value: Off

; max_input_time
; Default Value: -1 (Unlimited)
; Development Value: 60 (60 seconds)
; Production Value: 60 (60 seconds)



RE: un showmessage() avec PHP ? - niahoo - 14-09-2010

Ben c'est bizzare que les valeurs par défaut semblent ne pas être prises en compte.

essaie en les donnant explicitement :
Code :
; display_errors
;   Default Value: On
;   Development Value: On
;   Production Value: Off
display_errors = On
; display_startup_errors
;   Default Value: Off
;   Development Value: On
;   Production Value: Off
display_startup_errors = false

; error_reporting
;   Default Value: E_ALL & ~E_NOTICE
;   Development Value: E_ALL | E_STRICT
;   Production Value: E_ALL & ~E_DEPRECATED
error_reporting = E_ALL | E_STRICT

; html_errors
;   Default Value: On
;   Development Value: On
;   Production value: Off
html_errors = On

; log_errors
;   Default Value: Off
;   Development Value: On
;   Production Value: On

; magic_quotes_gpc
;   Default Value: On
;   Development Value: Off
;   Production Value: Off
magic_quotes_gpc = Off

; max_input_time
;   Default Value: -1 (Unlimited)
;   Development Value: 60 (60 seconds)
;   Production Value: 60 (60 seconds)
max_input_time = 60



RE: un showmessage() avec PHP ? - gameprog2 - 14-09-2010

Pas de changement :/
j'ai fait comme tu as dit (par copier/coller)

Peut-etre qu'on s'eloigne du sujet ?