[EasyPhp]débutant

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [EasyPhp]débutant

par Invité » 20 août 2005, 20:05

Ca y est !!! :D

Ca fonctionne, je suis trop content, je vous remercie tous de m'avoir orienté, en fait je n'ai pas compris la cause réelle vu que j'ai farfouillé un peu partout, mais le principal est là, ce code fonctionne et EasyPhp aussi.

Ouf, en tous cas, encore merci de m'avoir aidé, grâce à vous j'y suis enfin arrivé, tout seul j'aurais abandonné depuis longtemps.

Je vais pouvoir m'intéresser de plus près aux tutoriels du site, afin de voir les choses que l'on peut faire avec ce langage.

:pouce:

par iclo » 20 août 2005, 18:23

pour la différence de code entre le fichier php et le code envoyé au browser, c'est tout à fait normal, le code php est executé par le serveur et seul le résultat html est envoyé vers le browser le code php est donc fort heureusement masqué pour le visiteur.

par @rthur » 20 août 2005, 17:59

Remplace $PHP_SELF par:
$_SERVER["PHP_SELF"]
Merci @rthur pour l'alternative à EasyPhp, mais je voudrais savoir avant de l'installer si la configuration des serveurs se fait automatiquement comme avec Easy, car je n'y connais strictement rien en ce domaine.
Oui, tout se fait automatiquement.
J'ai d'autres questions :
- Un service spécifique de windows est-il nécessaire au fonctionnement des serveurs ?
A priori, je pense que non...
- Y'aurait-il une options de windows que j'aurais désactivée par souci de sécurité et qui pourrait être la cause du problème ?
Normalement, non.
- Mon firewall peut-il faire obstruction (ZA) ?
Oui, mais normalment ça ne génère pas le type de pb que tu rencontres...
- Le firewall intégré de la livebox peut-il en être la cause ?
Non en aucun cas vu que tu travail en local sur ton poste

par spirou » 20 août 2005, 14:21

Merci à tous,

Je vais essayer de résumé en tachant d'être clair.
En premier, je suis désolé, mais j'avais fais une grossière erreur, j'ai omis de changer l'extension de mon fichier en .php :boire4:
Ce qui a résolu le problème d'affichage du code sur ma page, merci PHP.

Mon répertoire contenant mes fichiers HTML, CSS et PHP sont bien dans le répertoire WWW de EasyPhp.
Les serveurs Apache et MySQL sont démarrés, j'accède au répertoire en passant par localhost ou 127.0.0.1

Mais ayant regardé dans les services windows(services.msc), j'ai constaté qu'il y en avait un dénommé Apache, mais qui était arrêté, j'ai donc voulu le démarrer: échec.

Alors après en avoir eu assez, j'ai donc désinstallé EasyPhp, viré tous les fichiers et clefs de registres de mon pc (Apache, MySQL et EasyPhp).
Un nettoyage en profondeur...

Je le réinstalle donc et là d'emblée un problème, il refuse d'installer les deux mises à jour, mais qu'est-ce que je lui ai fait 8-[
Le service Apache ne s'est pas réinscrit dans la liste des services, c'est normal ?

Merci @rthur, en effet j'avais fait une bourde en confondant le "1" et le "l".
J'ai transformé mon code suivant le conseil d'un forumeur, mais cela ne fonctionne toujours pas lorsque je valide en appuyant sur le bouton "Envoyer", il m'affiche une page d'erreur.

J'ai constaté aussi une chose, c'est que le code source de ma page ne correspond pas au code de mon fichier php, je vous montre :
Original :
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
  <link href="contact.css" rel="stylesheet" type="text/css">
  <title>Contact</title>
  </head>
  <body>
  <h1>CONTACT</h1>
  
  <form action="<?echo $PHP_SELF;?>" method="post">
  <textarea id="saisie" name="message" wrap=virtual></textarea>
  <input id="bouton" type="submit" value="Envoyer">
  </form>
  
  <?
  if (!empty($_POST['message'])) {
  $fp = fopen("contact.txt", "ab");
  fwrite($fp, nl2br($_POST['message'])."<p>\n");
  fclose($fp);
  }
  ?>
  
  <p>Historique</p>
  
  <?
  
  readFile("contact.txt");
  
  ?>
  
  </body>
</html>
Code regardé via le navigateur :
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 //EN"
  "http://www.w3.org/TR/html4/strict.dtd"> 

<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
  <link href="contact.css" rel="stylesheet" type="text/css">
  <title>Contact</title>

  </head>
  <body>
  <h1>CONTACT</h1>
  
  <form action="<br />
<b>Notice</b>:  Undefined variable:  PHP_SELF in <b>c:\logiciels\easyphp1-8\www\webmod1\contact.php</b> on line <b>12</b><br />
" method="post">
  <textarea wrap=soft id="saisie" name="message" wrap=virtual></textarea>
  <input id="bouton" type="submit" value="Envoyer">
  </form>
  
    
  <p>Historique</p>

  </body>
</html>
Qu'en pensez vous ?
C'est bizarre non ?

Merci @rthur pour l'alternative à EasyPhp, mais je voudrais savoir avant de l'installer si la configuration des serveurs se fait automatiquement comme avec Easy, car je n'y connais strictement rien en ce domaine.

J'ai d'autres questions :

- Un service spécifique de windows est-il nécessaire au fonctionnement des serveurs ?
- Y'aurait-il une options de windows que j'aurais désactivée par souci de sécurité et qui pourrait être la cause du problème ?
- Mon firewall peut-il faire obstruction (ZA) ?
- Le firewall intégré de la livebox peut-il en être la cause ?

J'ai aussi un autre souci, lorsque je modifie une option d'aministration, et que je veux y retourner, je n'y ai plus accès....

Mon cas à l'air insolvable, je ne sais vraiment plus quoi faire.....

par @rthur » 20 août 2005, 12:09

Alors le problème ne vient pas de nl2br().

Pour information, nl2br() permet de remplacer tous les sauts de lignes en <br />
http://www.php.net/manual/fr/function.nl2br.php
Je vote pour une faute de frappe ;-)
La fonction est bien NL2BR() comme le dit PHP mais la fonction utilisée par Spirou est N12BR() (j'ai tapée les deux noms de fonctions en majuscules afin de bien faire apparaitre le problème).
Y'a t-il une alternative à EasyPhp
Wamp est très pratique et moins buguée à mon sens:
http://www.wampserver.com
Attention à bien lire la page "Comment utiliser MySQL 4.1.*" si tu souhaites utiliser les fonctions mysql* et pas mysqli*

par Xenon_54 » 20 août 2005, 03:10

Bonjour,

Le problème vient d'EasyPHP. Il ne l'a pas démarré ou alors n'a pas placé son fichier dans le répertoire www. Alors le problème ne vient pas de nl2br().

Pour information, nl2br() permet de remplacer tous les sauts de lignes en <br />
http://www.php.net/manual/fr/function.nl2br.php

par aphp » 20 août 2005, 02:49

Code : Tout sélectionner

<h1>CONTACT</h1> <form action="<?echo $PHP_SELF?>" method="post"> <textarea id="saisie" name="message" wrap=virtual></textarea> <input id="bouton" type="submit" value="Envoyer"> </form> <? if (!empty($_POST['message'])) { $fp = fopen("contact.txt", "a"); fwrite($fp,($_POST['message'])."<p>\n"); fclose($fp); } ?> <p>Historique</p> <? readFile("contact.txt") ?>
Moi sa fonctionne sans le "n12br", je me demande ce que c'est?

par Xenon_54 » 20 août 2005, 00:55

Bonjour,

As-tu bien mis l'extension .php à ton fichier?
Je viens de tester à l'instant ton script et j'ai le même résultat si je désactive PHP. Donc soit que ton serveur ne roule pas (donc redémarre-le) ou alors que tu ne l'as pas mis dans ton dossier /www de EasyPHP.

par spirou » 20 août 2005, 00:47

Serait ce possible qu'il y est une option dans windows que j'aurais désactivée et qui pourrait en être la cause ?
Voici ce que cela affiche.

Y'a t-il une alternative à EasyPhp, qui je pense est la cause.
En plus j'ai des problèmes avec lui, cela fait la deuxième fois que je l'installe et ça fait deux fois que je ne peut plus accéder aux paramètres avancés de l'administrateur, il me met :

Bienvenue à phpMyAdmin 2.6.1

phpMyAdmin a tenté de se connecter au serveur MySQL, et le serveur a rejeté la connexion. Veuillez vérifier les valeurs de "host", "username" et "password" dans config.inc.php et vous assurer qu'elles correspondent aux informations fournies par l'administrateur du serveur MySQL.
Erreur

MySQL a répondu:Documentation
#1045 - Acc�s refus� pour l'utilisateur: 'root'@'@localhost' (mot de passe: NON)

Je suis pourtant bel et bien l'administrateur de ma bécanne.
:cry:

par spirou » 20 août 2005, 00:13

Si mon serveur est bien lancé, avec apache et Mysql avec les feux verts.
Et le carré clignote bien dans ma barre des taches.

Mon fichier contact.txt est vide, il est destiné à recevoir les données qui seront entrées à l'aide ce script que j'ai trouvé sur le magazine LinuxPratique.

Je le remets :
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 //EN"
  "http://www.w3.org/TR/html4/strict.dtd"> 
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
  <link href="contact.css" rel="stylesheet" type="text/css">
  <title>Contact</title>
  </head>
  <body>
  <h1>CONTACT</h1>
  
  <form action="<?echo $PHP_SELF?>" method="post">
  <textarea id="saisie" name="message" wrap=virtual></textarea>
  <input id="bouton" type="submit" value="Envoyer">
  </form>
  
  <?
  if (!empty($_POST['message'])) {
  $fp = fopen("contact.txt", "a");
  fwrite($fp, n12br($_POST['message'])."<p>\n");
  fclose($fp);
  }
  ?>
  
  <p>Messages</p>
  
  <?
  
  readFile("contact.txt")
  
  ?>
  
  </body>
</html>

Pourtant, je l'ai vérifié X fois, et il y a aucune erreur, enfin du moins par rapport au code de cette revue.

Le problème est que ce morceau de code \n"); fclose($fp); } ?> s'affiche directement sur ma page, il ne doit pas être pris en compte.

A mon avis, c'est la balise <p> qui doit en être la cause.
Et lorsque je clique sur le bouton Envoyer, cela m'envoi vers une page d'erreur.

par Xenon_54 » 20 août 2005, 00:04

Bonjour,

Bien vu cyrano. J'étais complètement perplexe face à ce problème étrange.
Donc qu'il affiche la source afin de voir que PHP n'est pas interprété.

par Cyrano » 19 août 2005, 23:59

Non, je crois que c'est plus simple que ça : Apache n'est pas lancé.
En bas à droite, dans la barre de tâche, tu dois avoir un icône en forme de E : fais un clic droit dessus et vérifie si ton serveur est démarré.

par Xenon_54 » 19 août 2005, 23:55

Bonjour,

J'ai pas tout saisi. Pourrais-tu réafficher le code exact que tu utilises ainsi que le contenu de ton fichier contact.txt?

par spirou » 19 août 2005, 23:52

Merci, mais ça ne fonctionne toujours pas :(
J'ai toujours ce \n"); fclose($fp); } ?> qui s'affiche.

J'ai essayé avec 4 navigateurs, firefox, ie, netscape, et opéra, tous me mettent un message d'erreur.

C'est bizarre, non ?
Je ne sais vraiment que faire :?

par Cyrano » 19 août 2005, 23:39

Déjà essaye en corigeant l'attribut action de ton formulaire :
<h1>CONTACT</h1>
  <form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post">
  <textarea id="saisie" name="message" wrap=virtual></textarea>
  <input id="bouton" type="submit" value="Envoyer">
  </form>
<?
if (!empty($_POST['message']))
{
    $fp = fopen("contact.txt", "a");
    fwrite($fp, n12br($_POST['message'])."<p>\n");
    fclose($fp);
}
?>
  <p>Historique</p>
<?
readFile("contact.txt")
?>