Pages : 1 2 3 4 5 [
6]
7 8
Réponse à : Se faire faire un site php Posté le 21/03/2006 à 14:11
3run0Administrateur
1744 posts
Inscrit le : 1/10/2004
dans le premier cas l'erreur ce trouve là
$message=htmlentities($_POST['pseudo']);
au lieu de
$pseudo=htmlentities($_POST['pseudo']);
celleci c'est moi qui te l'ai fait faire
la seconde tu a oublié l'accolade fermante } après fclose($fp); erreur très courante il faut y faire attention!
<?php
include('form-com.html');
if(($_POST['message']!='')&&($_POST['pseudo']!='')){
$message=htmlentities($_POST['message']);
$pseudo=htmlentities($_POST['pseudo']);
$ladate= date("d-m-Y");
$lepost=$message."<br />".$pseudo." ".$ladate."<hr />";
$fp = fopen("commentaires.txt", "a");
fwrite($fp, $lepost);
fclose($fp);
}
echo '<br /><br />';
include('commentaires.txt');
?>
donc voici où nous en sommes.
_______________________
_ww.gabian-herault.com
Réponse à : Se faire faire un site php Posté le 21/03/2006 à 14:16
Ca avance ! Maintenant je vois déjà un résultat, c'est encourageant !
Par contre il y a un message d'erreur : [quote]Notice: Undefined index: message in c:\program files\easyphp1-8\www\site\commentaires.php on line 4[/quote]
_______________________
Patience et longueur de temps font plus que force ni que rage (La Fontaine)
Réponse à : Se faire faire un site php Posté le 21/03/2006 à 14:34
3run0Administrateur
1744 posts
Inscrit le : 1/10/2004
Un truc sympas serai de retenir le nom de l'utilisateur dans un
coockie
mais le cookie doit être envoyé avant tout AFFICHAGE HTML, donc on va un peu modifier le script
<?php
if(($_POST['message']!='')&&($_POST['pseudo']!='')){
$message=htmlentities($_POST['message']);
$pseudo=htmlentities($_POST['pseudo']);
$expire = 365*24*3600; // = 1an
setcookie("utilisateur",$pseudo,time()+$expire); // on l'envoi
$ladate= date("d-m-Y");
$lepost=$message."<br />".$pseudo." ".$ladate."<hr />";
$fp = fopen("save.txt", "a");
fwrite($fp, $lepost);
fclose($fp);
}
echo '<br /><br />';
include('commentaire.txt');
if(isset($_COOKIE['utilisateur'])){ // si la variable $_COOKIE est définie
$utilisateur=htmlentities($_COOKIE['utilisateur']);
}else{ // sinon
$utilisateur="Votre Pseudo";
}
?>
<form method="post" action="commentaires.php">
<input type="text" name="message" size="50" value="Votre message"/>
<input type="text" name="pseudo" size="20" value="<?php print $utilisateur ?>"/>
<input type="submit" name="valid" value="envoyer"/>
</form>
?>
précision:
Aprés avoir envoyé un premier message, recharge la page et tu verra le contenu du cookie dans le champs pseudo.
ça va pas trop vite? sinon tu crie!
_______________________
_ww.gabian-herault.com
Réponse à : Se faire faire un site php Posté le 21/03/2006 à 21:16
Là ça devient un peu plus embrouillé dans ma tête, vu comme ça, j'arrive à peu près à suivre la démarche mais je serai incapable de faire ce code moi-même !
En outre, il doit y avoir quelques erreurs puisque d'une part j'ai ce message d'erreur : [quote]Notice: Undefined index: message in c:\program files\easyphp1-8\www\site\commentaires.php on line
2[/quote] et d'autre part quand j'ajoute un message, il ne s'affiche pas.Par contre, mon pseudo reste bien en place.
_______________________
Patience et longueur de temps font plus que force ni que rage (La Fontaine)
Réponse à : Se faire faire un site php Posté le 21/03/2006 à 21:30
3run0Administrateur
1744 posts
Inscrit le : 1/10/2004
Poste moi ton code je regarderais où se trouve l'erreur.
Et dit moi les points qui te semble flous je te les presenterais différemment, pour être sur de bonnes bases il faudrait que tu arrives à commenter la totalité du code.
PS// il manquerai pas un "s" à commentaire.txt?
_______________________
_ww.gabian-herault.com
Réponse à : Se faire faire un site php Posté le 21/03/2006 à 21:39
Le "s", si, je m'en suis rendu compte (ouah, je progresse !)
Euh... quant au code c'est légèrement le même que le tien (simple coïncidence lol)
<?php
if(($_POST['message']!='')&&($_POST['pseudo']!='')){
$message=htmlentities($_POST['message']);
$pseudo=htmlentities($_POST['pseudo']);
$expire = 365*24*3600; // = 1an
setcookie("utilisateur",$pseudo,time()+$expire); // on l'envoi
$ladate= date("d-m-Y");
$lepost=$message."<br />".$pseudo." ".$ladate."<hr />";
$fp = fopen("save.txt", "a");
fwrite($fp, $lepost);
fclose($fp);
}
echo '<br /><br />';
include('commentaires.txt');
if(isset($_COOKIE['utilisateur'])){ // si la variable $_COOKIE est définie
$utilisateur=htmlentities($_COOKIE['utilisateur']);
}else{ // sinon
$utilisateur="Votre Pseudo";
}
?>
<form method="post" action="commentaires.php">
<input type="text" name="message" size="50" value="Votre message"/>
<input type="text" name="pseudo" size="20" value="<?php print $utilisateur ?>"/>
<input type="submit" name="valid" value="envoyer"/>
</form>
En ce qui concerne les choses que je ne comprends pas trop, en fait il y en a qu'on a déjà vu et des nouvelles :
echo '<br /><br />'
Echo, c'est pour écrire quelque chose, mais pourquoi ces deux br /> ?
if(isset($_COOKIE['utilisateur'])){ // si la variable $_COOKIE est définie
$utilisateur=htmlentities($_COOKIE['utilisateur'])
Là je ne comprends pas trop le "si la variable $_cookie est définie". Enfin, j'ai compris la finalité de ce bout de code mais pas son fonctionnement.
Vala
_______________________
Patience et longueur de temps font plus que force ni que rage (La Fontaine)
Réponse à : Se faire faire un site php Posté le 21/03/2006 à 22:04
3run0Administrateur
1744 posts
Inscrit le : 1/10/2004
pour l'erreur sur la variable $message ligne 2 je ne la vois pas!

et je ne l'ai pas quand je teste avec easyphp essaye d'actualiser (F5) le
cache du navigateur, sait on jamais...
echo sert effectivement à ecrire quelque chose, et là on ecrit des balises HTML <br /> et <hr /> car après traitement d'un script PHP le serveur ne fait que renvoyer du HTML au navigateur.
Fait afficher la source de ta page et tu verras que du html. Donc on peut utiliser "echo" pour écrire des balises html.
[quote] if(isset($_COOKIE['utilisateur'])){ // si la variable $_COOKIE est définie
$utilisateur=htmlentities($_COOKIE['utilisateur']); [/quote]
lorsqu'un utilisateur ouvre la page commentaire et qu'il n'a jamais posté de message, $_COOKIE['utilisateur'] n'existe pas, par consequent il n'est pas défini, car l'envoie du cookie ne se fait QUE si
on poste un message puisqu'il est(l'envoi) entre les 2 { } du if
if(ma condition est vrai){
j'execute du code
}
if(10>2){
echo "10 est superieur à 2";
}
voilà pourquoi avant d'utiliser le cookie il faut vérifier son existance, sans parler qu'on peut tomber sur un utilisateur qui à désactivé les cookies.
c'est plus clair?
_______________________
_ww.gabian-herault.com
Réponse à : Se faire faire un site php Posté le 21/03/2006 à 22:30
pour l'erreur sur la variable $message ligne 2 je ne la vois pas! et je ne l'ai pas quand je teste avec easyphp essaye d'actualiser (F5) le cache du navigateur, sait on
jamais...
Ca ne fonctionne toujours pas.
C'est plus clair mais ça sert à quoi le isset de manière générale ?
_______________________
Patience et longueur de temps font plus que force ni que rage (La Fontaine)
Réponse à : Se faire faire un site php Posté le 21/03/2006 à 22:47
3run0Administrateur
1744 posts
Inscrit le : 1/10/2004
isset() sert à verifier si une variable existe ou si elle n'a pas été définie avec la valeur NULL
if(isset($_COOKIE['nom_cookie'])) vérifie si $_COOKIE['nom_cookie'] existe bien. tout simplement.
dans notre cas si le cookie existe on affecte sa valeur ($pseudo), à la variable $utilisateur sinon on donne la valeur "Votre pseudo" à $utilisateur
<?php
if(isset($_COOKIE['utilisateur'])){ // si le $_COOKIE existe
$utilisateur=htmlentities($_COOKIE['utilisateur']);
}else{ // sinon il existe pas
$utilisateur="Votre Pseudo";
}
?>
_______________________
_ww.gabian-herault.com
Réponse à : Se faire faire un site php Posté le 21/03/2006 à 22:50
D'accord, c'est plus clair maintenant. Par contre mon erreur est bizarre, d'autant plus que je ne pense pas que ça vienne de mon easyphp puisque j'ai installé tout récemment la dernière version.
Sur ce, bonne nuit !
_______________________
Patience et longueur de temps font plus que force ni que rage (La Fontaine)
Réponse à : Se faire faire un site php Posté le 21/03/2006 à 22:54
3run0Administrateur
1744 posts
Inscrit le : 1/10/2004
pour eviter ce genre de messages d'erreur, va dans le fichier
/program files/easyphp/php.ini
tu cherche la ligne
error_reporting = ...
et tu la modifie comme ceci
error_reporting = E_ALL & ~E_NOTICE
voilou! bonne nuit
_______________________
_ww.gabian-herault.com
Réponse à : Se faire faire un site php Posté le 22/03/2006 à 13:15
Bonjour,
tu cherche la ligne
error_reporting = ...
et tu la modifie comme ceci
error_reporting = E_ALL & ~E_NOTICE
, c'est déjà écris ainsi dans mon php.ini. Et mon code ne fonctionne toujours pas
_______________________
Patience et longueur de temps font plus que force ni que rage (La Fontaine)
Réponse à : Se faire faire un site php Posté le 22/03/2006 à 13:36
3run0Administrateur
1744 posts
Inscrit le : 1/10/2004
alors ecris cette ligne
if(($_POST['message']!='')&&($_POST['pseudo']!='')){
comme ceci
if(isset($_POST['message'])&& isset($_POST['pseudo'])){
_______________________
_ww.gabian-herault.com
Réponse à : Se faire faire un site php Posté le 22/03/2006 à 13:51
Je n'ai plus le message d'erreur mais le message que j'écris ne s'affiche pas non plus.
_______________________
Patience et longueur de temps font plus que force ni que rage (La Fontaine)
Réponse à : Se faire faire un site php Posté le 22/03/2006 à 14:01
3run0Administrateur
1744 posts
Inscrit le : 1/10/2004
$fp = fopen("save.txt", "a"); ça viendrait pas de là par hasard
_______________________
_ww.gabian-herault.com
Réponse à : Se faire faire un site php Posté le 22/03/2006 à 14:10

Je mérite une punition, je suis aveugle, c'est pas possible !
_______________________
Patience et longueur de temps font plus que force ni que rage (La Fontaine)
Pages : 1 2 3 4 5 [
6]
7 8 Vous n'est pas connecté en temps que membre, parceque j'en ai marre du spam, SEUL les membres peuvent poster des messages sur le forum.