Impossible d'afficher du PHP

Résolu/Fermé
Guigui91300 Messages postés 332 Date d'inscription dimanche 14 octobre 2007 Statut Membre Dernière intervention 12 juillet 2011 - 29 mars 2009 à 22:02
Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 - 31 mars 2009 à 13:23
Bonjour,

je débute en PHP, et j'ai déjà un problème. C'est vraiment tout bête mais je ne vois pas pourquoi ça ne marche pas. Tout ce qui est relatif au PHP ne s'affiche pas, alors que tout ce qui est HTML fonctionne correctement.
Voici le code:

<?php
// Ci-dessous, la fonction qui calcule le volume du cône
function VolumeCone($rayon, $hauteur)
{
$volume = $rayon * $rayon * 3.14 * $hauteur * (1/3); // calcul du volume
return $volume; // indique la valeur à renvoyer, ici le volume
}

$volume = VolumeCone(3, 1);
echo "Le volume d'un cône de rayon 3 et de hauteur 1 est de $volume";
?>

Ou même avec quelque chose de plus simple: je déclare une variable, que je récupère sur une autre page et que je dois afficher mais rien ne marche. Pourtant, WAMP est ouvert et "en ligne".

Ou bien autre chose plus simple mais qui ne fonctionne pas non plus:

Sur une première page:
<p>
<a href="cible.php?nom=Dupont&prenom=Michel">Lien vers cible.php?nom=Dupont&prenom=Michel</a><br />
<a href="cible.php?nom=Guichard&prenom=Patrick">Lien vers cible.php?nom=Guichard&prenom=Patrick</a><br />
<a href="cible.php?nom=Surret&prenom=Coralie">Lien vers cible.php?nom=Surret&prenom=Coralie</a>
</p>


Sur une seconde:

<p>
Bonjour !


Votre nom est <?php echo $_GET['nom']; ?> , et votre prénom est <?php echo $_GET['prenom']; ?>.
</p>


Bref, si vous avez une idée...
A voir également:

31 réponses

chupa23 Messages postés 149 Date d'inscription samedi 13 décembre 2008 Statut Membre Dernière intervention 20 juillet 2009 28
29 mars 2009 à 22:49
Bonjour,

Tu dis débuter , ce sont les premières pages que tu crées ou tu as déjà réussi a faire tourner du php ?
Il n'y a pas d 'erreur dans ton code php (si il y en aurait , tu aurais un message d'erreur) , c'est plutot comment tu lance tes pages qui doit poser problème , tu place bien la page dans le dossier www de wamp ? Puis tu la lance bien en allant sur un navigateur web ?
Essai un simple:
<?php 
$nom = 'test';
echo $nom; 
?>
0
Guigui91300 Messages postés 332 Date d'inscription dimanche 14 octobre 2007 Statut Membre Dernière intervention 12 juillet 2011 28
29 mars 2009 à 23:08
J'ai fait exactement ça, en essayant dans un sous-dossier placer dans www et dans www directement, en faisant un copier coller de ton code en y ajoutant les "bases" d'un code HTML, au final, voici ce qu'il y a dans mon notepad++:

<!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>
<title>Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<p>
<?php
$nom = 'test';
echo $nom;
?>

</p>
</body>
</html>


Je n'y comprend rien...
0
Bigfish72 Messages postés 79 Date d'inscription samedi 28 mars 2009 Statut Membre Dernière intervention 11 avril 2009 4
29 mars 2009 à 23:25
Salut, as-tu bien enregistré le fichier avec l'extension .php ? Je dis ça non pas pour me moquer de toi, mais juste parce que j'ai déjà vu des débutants garder l'extension .hml.
0
Guigui91300 Messages postés 332 Date d'inscription dimanche 14 octobre 2007 Statut Membre Dernière intervention 12 juillet 2011 28
30 mars 2009 à 16:29
Non, j'ai bien enregistré avec l'extension .php !!
Je comprends que tu demande ça, c'est normal !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vincent170186 Messages postés 316 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 28 septembre 2012 52
30 mars 2009 à 16:38
salut !
essaye d'ouvrir ton navigateur et de mettre l'adresse de ton site a savoir:
http://localhost/nomdudossier/nomdelapage.php
et dis nous ce que ça fait !
nb: il faut avoir lancer wamp avant .
0
Guigui91300 Messages postés 332 Date d'inscription dimanche 14 octobre 2007 Statut Membre Dernière intervention 12 juillet 2011 28
30 mars 2009 à 19:46
En faisant avec http:// et le reste, ça me fait une recherche Google!
Sinon j'ai fait Fichier > Ouvrir > mon fichier, et ça ne marche pas.
Wamp est bien lancé, pour preuve, la page s'affiche, mais pas le PHP. Et l'extension du fichier est bien .php
0
Bigfish72 Messages postés 79 Date d'inscription samedi 28 mars 2009 Statut Membre Dernière intervention 11 avril 2009 4
30 mars 2009 à 20:07
Salut,

c'est normal que ça ne fonctionne pas. Quand tu fais fichier>ouvrir tu lances ton fichier avec ton navigateur. Hors ton navigateur ne sait pas lire le php. Seul un serveur peut le faire.

Si tu as un wamp comme easyphp voila ce que tu dois faire : placer ton fichier dans le répertoire www d'easyphp. Puis lancer easyphp : il affiche "démarrage des serveurs". Puis clic droit sur l'icone et sélectionner "Web local". Tu as alors le contenu du dossier www qui s'affiche. Tu cliques sur ton fichier et là ça doit marcher.

J'ai recopié ton code chez moi et ça fonctionne très bien.
0
Guigui91300 Messages postés 332 Date d'inscription dimanche 14 octobre 2007 Statut Membre Dernière intervention 12 juillet 2011 28
30 mars 2009 à 21:17
Ok, je teste: (j'ai WampServer et c'est de la même façon le dossier www)

Et ça ne fonctionne pas. Cela m'affiche tout le reste de la page qui est en HTML, mais pas un message d'erreur donc le code est bon et WampServer fonctionne. Je vais tester sur un autre ordi.
Le temps que j'y installe WampServer et que je teste, je vous dis ça dans 30 minutes.
0
Guigui91300 Messages postés 332 Date d'inscription dimanche 14 octobre 2007 Statut Membre Dernière intervention 12 juillet 2011 28
30 mars 2009 à 21:29
J'ai tenté l'opération sur trois ordis différents: un PC assemblé, un NC10 et un portable Toshiba...
Je pense donc qu'il y a un problème dans l'utilisation de WampServer je vais donc testé easyPHP pour voir ce que ça donne.

Merci à vous tous.

Je vous répondrais dans la soirée ou demain.
0
Guigui91300 Messages postés 332 Date d'inscription dimanche 14 octobre 2007 Statut Membre Dernière intervention 12 juillet 2011 28
30 mars 2009 à 21:58
Chose très étrange, cela semble marcher avec EasyPHP...
0
Guigui91300 Messages postés 332 Date d'inscription dimanche 14 octobre 2007 Statut Membre Dernière intervention 12 juillet 2011 28
30 mars 2009 à 22:05
Mais j'ai des Parse Error alors que mon code est bon: (décidément!!)


Première page:
<!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>
<title>Notre première instruction : echo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<h2>Affichage de texte avec PHP</h2>

<p>
<a href="cible.php?nom=Dupont&prenom=Michel">Lien vers cible.php?nom=Dupont&prenom=Michel</a><br />
<a href="cible.php?nom=Guichard&prenom=Patrick">Lien vers cible.php?nom=Guichard&prenom=Patrick</a><br />
<a href="cible.php?nom=Surret&prenom=Coralie">Lien vers cible.php?nom=Surret&prenom=Coralie</a>
</p>
</body>
</html>

Seconde page (cible.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>
<title>Notre première instruction : echo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<h2>Affichage de texte avec PHP</h2>

<p>
Wesh <?php echo "$_GET['prenom']";
?>
Tiens, tu peux revenir à la page précédente en <a href="new4.php">cliquand ici</a>.<br />
</p>
</body>
</html>
0
Bigfish72 Messages postés 79 Date d'inscription samedi 28 mars 2009 Statut Membre Dernière intervention 11 avril 2009 4
30 mars 2009 à 23:51
Salut,

c'est normal que tu ais une parse error.

<?php echo "$_GET['prenom']";
?>

ce n'est pas correct : enlève les guillemets et ça marchera :

<?php
echo $_GET['prenom'];

?>

Petite info :

n'affiche jamais une valeur issue d'un GET ou d'un POST sans la protéger un minimum. mets au moins :

<?php
echo htmlentities($_GET['prenom'])
?>
cette fonction dit au navigateur : si tu vois du code, n'en tiens pas compte et affiche le tel quel.

dans l'url change la valeur du prénom avec <script>alert('Et hop une injection');</script> en mettant ou non la fonction htmlentities, tu verras par toi même la différence ;)
0
vincent170186 Messages postés 316 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 28 septembre 2012 52
31 mars 2009 à 08:17
bonjour!
petite question ne rapport avec le sujet !:
"ce n'est pas correct : enlève les guillemets et ça marchera :"

pourtant il me semble que le php permet de faire:

$w="wolrd";
echo "hello $w";

sinon plutot que de faire:
<?php
echo $_GET['prenom'];

?>
pourquoi pas
<?php
$prenom=$_GET['prenom'];

echo "$prenom ";

?>
0
vincent170186 Messages postés 316 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 28 septembre 2012 52
31 mars 2009 à 08:27
re !
encore une petite question !
est il utile de mettre htmlentities lorsque l'on affiche pas les données et qu'on les met dans une bdd !
(en admettant bien qu'on ne compte pas les afficher par la suite!)
0
Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
31 mars 2009 à 08:55
Bien sur que oui, mais tu peux aussi utliser la fonction mysql_realescape_string (j'ai un gros doute sur le nom d'un coup.. php.fr pour la bonne fonction). Elle permet de ne pas tenir compte des guillemets. Pourquoi? Exemple
<?php
   $result = mysql_query("UPDATE valeur SET id = '$variable' ");
?>

(Wa les trous de mémoire que je me tape.. ça fait trop longtemps que j'ai pas codé moi...)
Bref, imagine que tu aies
<?php
   $variable = "1' UNION DELETE * FROM 'table";
?>

Tu vas te retrouver avec une requete dans ce gout là
<?php
   $result = mysql_query("UPDATE valeur SET id = '1' UNION DELETE * FROM table'");
?>

Bref, même si mon code est tout bugué, tu vois le principe je pense...
0
vincent170186 Messages postés 316 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 28 septembre 2012 52
31 mars 2009 à 09:21
ok !
en gros tu vien de me montrer comment vider une bdd a distance !
je crois que j'ai bien compris le principes !
merci pour ce conseil aviser !

mais un truc m'intrigue ! les requetes ne sont pas des entité html !!!
donc il ne vas rien transformer !!(je parle de htmlentities !)
0
Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
31 mars 2009 à 09:29
C'est pour ça que je t'ai parlé de la fonction "mysql_realescape_string " (dont je ne suis pas sur du nom).
Je te conseille de lire la doc de ces fonctions sur www.php.fr
Tu as toutes les fonctions, les fonctions qui peuvent y être liées, et tu pourras comprendre les différences. Par exemple celle dont je te parle fait précéder les guillemets de slash, alors que htmlentities protège des balises '<' et '>'.
Question de protection, dès qu'un utilisateur peux taper du code (champ, get, post, ...) dès qu'une info reviens du client, tu dois la protéger à mort. Par exemple, on conseille même de vérifier le type de la variable pour être sur qu'il corresponde au type attendu. (Par exemple si tu demande l'age, tu vérifie que ça soit bien un chiffre, et tu exclue tout le reste). Bref, bon courage. Et si jamais tu as besoin de faire tester un site, contacte moi en mp, je te donnerai l'adresse d'un forum beaucoup plus axé sécurité et dont les membres auditent des sites. (mais pas de pub ici).
0
vincent170186 Messages postés 316 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 28 septembre 2012 52
31 mars 2009 à 09:35
et bien écoute !
mille merci pour ces conseil avisé !
0
Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
31 mars 2009 à 09:36
Mais c'est avec plaisir.
Les gens intéressés, et qui ne demandent pas qu'on leur fasse le boulot sont rares ;)
N'oublie pas de cocher résolu.
0
vincent170186 Messages postés 316 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 28 septembre 2012 52
31 mars 2009 à 09:42
ben j'voudrais bien cocher mais je suis pa a l'origine du message !
0
Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
31 mars 2009 à 09:44
Ah ouais j'avais pas vu... en fait t'es un vilain squatteur de topic :p
La prochaine fois, ouvre ton propre sujet, ça aide a garder un forum propre et clair =)
0