Page 1 sur 1

problème script php

Posté : 16 juil. 2011, 11:34
par Miimii
Bonjour bonjour, cela fait maintenant 3 jours que j'essaye de régler un problème dont malheureusement je n'ai toujours pas trouvé de solution, c'est pour cela que je m'adresse à vous.
Voila mon problème je souhaite créer un tchat et pour cela j'ai utilisé ce tutoriel => http://www.grafikart.fr/tutoriels/tchat ... jax-php-82
mais seul problème à partir du moment ou j'ajoute les balises <?php et ?> et que j'actualise ma page "web" sous google chrome ma page php ci-dessous s'affiche à la place du formulaire :roll:
voici mon php :
<?php
if(!empty($_POST) && isset($_POST["pseudo"]) && !empty($_POST["pseudo"])){
	 session_start();
	 $_SESSION["pseudo"] = $POST["pseudo"];
	 header("location:tchat.php");
}
?>
<!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" lang="fr">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <link rel="stylesheet" href="styles1.css" type="text/css" media="screen" />
</head>

<body>
 <div id="conteneur">
  <h1>Commentaires:</h1>
  <form action="index.php" method="post">
	Pseudo:<input type="text" name="pseudo"/>
	<input type="submit" value="valider"/>
  </form>
</body>
</html>
Or sous firefox mon formulaire s'affiche mais lorsque je valide un pseudo il n'y a aucune redirection alors que d'après la tuto il devrait y avoir une redirection sous "tchat.php" que j'ai créé #-o
J’espère avoir été assez clair sinon j'en suis sincèrement désolé
Je vous remercie d'avance pour vos réponse :wink:

Re: problème script php

Posté : 16 juil. 2011, 11:53
par Ryle
Je ne sais pas si ton problème vient de là, mais voici déjà deux petites choses à corriger :
$_SESSION["pseudo"] = $POST["pseudo"];
// devrait être
$_SESSION["pseudo"] = $_POST["pseudo"]; // $_POST

header("location:tchat.php");
// devrait être 
header("Location:tchat.php"); // L majuscule

Re: problème script php

Posté : 16 juil. 2011, 11:57
par Miimii
J'ai modifié ce que tu m'as proposé, mais rien y fait, que ce soit sous google chrome ou firefox les deux problèmes persistent :(

Re: problème script php

Posté : 16 juil. 2011, 12:25
par Ryle
Est-ce que tu peux être un peu plus précis sur les problèmes que tu rencontres ? est-ce que le code php apparait à l'écran ou dans la source de la page ?

Ton script avec le formulaire de saisie du pseudo s'appelle bien "index.php" et tu l'exécutes bien depuis un serveur php (wamp, easyphp ou autre) ?

Bon et puis ça ne changera strictement rien au problème, mais tu peux aussi réduire ton test :
if(!empty($_POST) && isset($_POST["pseudo"]) && !empty($_POST["pseudo"])){
//
if( !empty($_POST["pseudo"]) ){
En effet, empty va non seulement tester si la variable est vide, mais également si elle est définie ;)

Re: problème script php

Posté : 16 juil. 2011, 12:35
par Miimii
En effet le code apparaît à l'écran et non dans la source de la page :wink:
Oui mon fichier ce nomme bien "index.php" mais je ne l’exécute avec aucun des serveurs proposés, je ne suis que débutante et malgré tous les tutoriaux que j'ai regardé jamais je n'ai vu qu'il faillait exécuter le fichier php avec un de ces serveurs =/
je vais essayer tout ça, et encore un grand merci ! :wink:

Re: problème script php

Posté : 16 juil. 2011, 14:08
par Ryle
En fait, lorsque tu ouvres une page html, ton navigateur interprète son contenu pour l'afficher à l'écran. PHP te permet de générer de façon dynamique le code html qui est envoyé au navigateur. Pour ce faire, il faut que le script php soit exécuté sur le serveur avant d'être envoyé au navigateur (le navigateur ne reçoit que du code html).

Il ne suffit donc pas juste de double-cliquer sur une page pour l'ouvrir dans le navigateur, il faut faire appel à un serveur (soit un site hébergé sur internet, soit un site hébergé localement sur ta machine), qui va interpréter le php avant de l'envoyer au navigateur.

Pour développer localement, il te faut installer et configurer plusieurs choses :
- un serveur web (apache, iis, ...) qui va te permettre de traiter les demandes du navigateur (url, formulaires, ...) et de lui retourner une page html
- un serveur php qui va te permettre de récupérer les informations envoyées au serveur web, et de lui retourner le code html qu'il fera suivre au navigateur.

Pour simplifier tout ça, tu peux installer "wamp" ou "easyphp" qui sont des packages de tout ce dont tu as besoin. Ils s'installent localement sur ta machine et sont "pré-configurés" pour te faire gagner du temps et pas te prendre la tête avec ces installations :) (en plus, ils installent également un serveur MySQL, qui te permet depuis php d'interroger une base de données pour y stocker ou retrouver des informations :))

Re: problème script php

Posté : 16 juil. 2011, 15:33
par Miimii
Effectivement maintenant ça fonctionne ^^
en revanche je rencontre à nouveau un problème (désolé =/)
donc dans le tuto présenté dans mon premier message
on me demande de créer un fichier "connect.php" que j'ai donc "inclut" dans mon script php "tchat.php"

<?php
session_start();
if(!isset($_SESSION["pseudo"]) || empty($_SESSION["pseudo"])){
header("location:index1.php");
}
include"connect.php";
?>
<!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" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" href="styles1.css" type="text/css" media="screen" />
</head>

<body>
<div id="conteneur" style="width;94%;">
<h1>Connectez en tant que:<?php echo $_SESSION["pseudo"]; ?></h1>
<div id="tchat">
<?php
$sql = "SELECT * FROM messages ORDER BY date DESC LIMIT 15";
$req = mysql_query($sql) or die(mysql_error());
while($data = mysql_fetch_assoc($req)){
?>
<p><strong><?php echo $data["pseudo"]; ?></strong> : <?php echo htmlentities($data["commentaire"]); ?></p>
<?php
}
?>
</div>
</div>

<div class="tchatForm" style="position;fixed;bottom;0;width;100%;">
<form method="post" action="#">
<div style="margin-right:110%;">
<textarea name="message" style="width:100%;"></textarea>
</div>
<div style="position:absolute; top:12%; right:0;">
<input type="submit" value="valider"/>
</div>
</form>
</body>
</html>

et voici le fameux "connect.php":
<?php
	 mysql_connect("'localhost','root',");
	 mysql_select_db('tchat');
	 mysql_query("'SET NAMES' 'utf8'");

?>
et donc mon problème est que quand j'actualise ma page de redirection des erreurs s'affichent :


Warning: mysql_connect() [function.mysql-connect]: php_network_getaddresses: getaddrinfo failed: H�te inconnu. in C:\wamp\www\tchat\connect.php on line 2

Warning: mysql_connect() [function.mysql-connect]: [2002] php_network_getaddresses: getaddrinfo failed: H�te inconnu. (trying to connect via tcp://localhost,'root',:3306) in C:\wamp\www\tchat\connect.php on line 2

Warning: mysql_connect() [function.mysql-connect]: php_network_getaddresses: getaddrinfo failed: H�te inconnu. in C:\wamp\www\tchat\connect.php on line 2

Warning: mysql_select_db() [function.mysql-select-db]: Access denied for user 'SYSTEM'@'localhost' (using password: NO) in C:\wamp\www\tchat\connect.php on line 3

Warning: mysql_select_db() [function.mysql-select-db]: A link to the server could not be established in C:\wamp\www\tchat\connect.php on line 3

Warning: mysql_query() [function.mysql-query]: Access denied for user 'SYSTEM'@'localhost' (using password: NO) in C:\wamp\www\tchat\connect.php on line 4

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\wamp\www\tchat\connect.php on line 4

Warning: mysql_query() [function.mysql-query]: Access denied for user 'SYSTEM'@'localhost' (using password: NO) in C:\wamp\www\tchat\tchat.php on line 22

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\wamp\www\tchat\tchat.php on line 22
Access denied for user 'SYSTEM'@'localhost' (using password: NO)

je voudrait simplement s'avoir ce que veux dire ces erreurs :oops:

Re: problème script php

Posté : 16 juil. 2011, 16:14
par Ryle
En fait php t'indique dans le premier message d'erreur un problème de connexion à ta base de données. Tous les autres messages d'erreur en découlent (puisqu'il ne parvient pas à se connecter, il ne parvient pas non plus à sélectionner une base ou à modifier l'encodage)

Il suffit donc résoudre le premier problème : Hôte inconnu.

PHP ne parvient pas à trouver l'hôte (le serveur) où se trouve ta base de données. En effet, si tu regardes la documentation de la fonction mysql_connect, tu verras qu'en premier argument, elle attends le nom du serveur (donc dans ton cas, en local, il s'agit bien de "localhost"). Cependant, la chaine que tu lui passes comme nom d'hôte est "'localhost','root'," .. il ne peut donc pas trouver le serveur ;)

Enlève les guillemets de chaque côté pour bien distinguer le nom d'hôte ('localhost'), puis le user ('root'), ... et ne pas faire une chaine complète avec toutes les données, car du coup php n'y voit qu'une seule valeur

Re: problème script php

Posté : 16 juil. 2011, 16:21
par Miimii
Merci, merci et encore merci pour ton aide, ça fonctionne parfaitement :wink: