Il y a actuellement 84 visiteurs
Lundi 02 Août 2021
accueilactualitésdossierscomparer les prixtélécharger gratuitement vos logicielsoffres d'emploiforum informatique
Connexion
Créer un compte

Problème php_self

Besoin d'aide pour configurer un serveur ? Vous souhaitez obtenir des conseils pour référencer votre site ? Un petit souci pour accéder à votre FTP ? Des soucis de programmation en PHP / ASP / HTML / XHTML / XML / XSLT / CSS / ReactJS / AngularJS / VueJS / CGI / PERL / C / MySQL / PostgreSQL ??? Nous avons peut-être la solution dans ce forum ...

Problème php_self

Message le 11 Nov 2010 10:44

Bonsoir !

jessaie de créer un petit fichier php permettant simplement de calculer A+B en entrant les valeurs de A et B,
j'ai reussi en le fesant avec 2 fichiers séparés (le html et le php) comme ceci :


Fichier HTML a executer :

Code: Tout sélectionner
<html>
<head>
</head>
<body>
<form action="addition simple.php" method="post">
<label type="text" >entrer A :</label>
<input type="text" name="A"><br>
<label type="text" >entrer B :</label>
<input type="text" name="B"><br>
<input type="submit" method="post" value="Calculer">
</form>
<?php
?>
</body>
</html>


Fichier PHP associé :

Code: Tout sélectionner
<html>
<head>
</head>
<body>
<form action="<?php $PHP_SELF ?>" method="post">
<label type="text" >entrer A :</label>
<input type="text" name="A"><br>
<label type="text" >entrer B :</label>
<input type="text" name="B"><br>
<input type="submit" name="x" value="Calculer">
<?php
$A = $_POST['A'] ;
echo "A=".$A; echo "<br>";
$B = $_POST['B'] ;
echo "B=".$B; echo "<br>";
$Total=$A+$B;
echo "<b>Resulat :</b><br>A+B=".$Total;
?>
</body>
</html>


Ilmarche bien, mais j'ai essayé de le condenser en un seul fichier PHP, et là ça coince...
voici le script :

Code: Tout sélectionner
<html>
<head>
</head>
<body>
<form action="<?php $PHP_SELF ?>" method="post">
<label type="text" >entrer A :</label>
<input type="text" name="A"><br>
<label type="text" >entrer B :</label>
<input type="text" name="B"><br>
<input type="submit" name="x" value="Calculer">
<?php
$A = $_POST['A'] ;
echo "A=".$A; echo "<br>";
$B = $_POST['B'] ;
echo "B=".$B; echo "<br>";
$Total=$A+$B;
echo "<b>Resulat :</b><br>A+B=".$Total;
?>
</body>
</html>



Je ne comprend pas pourquoi ça ne marche pas, j'ai l'impression que ça vient du PHP_self censé renvoyer au script php plus bas ...
il ne reconnait pas les variables A et B
messages d'erreur :

Notice: Undefined index: A in C:\Program Files (x86)\EasyPHP-5.3.3.1\www\tests\addition simple un seul fichier\addition simple.php on line 13
Notice: Undefined index: B in C:\Program Files (x86)\EasyPHP-5.3.3.1\www\tests\addition simple un seul fichier\addition simple.php on line 15


quelqu'un pourrais m'aider?
c'est ptetre une histoire de version de php?

merci.

EDIT Skynet : balises [code] & [quote] ajoutées.
FlamingUFO
Visiteur Confirmé
Visiteur Confirmé
 
Messages: 13
Inscription: 30 Déc 2009 15:24
 


Re: Problème php_self

Message le 14 Nov 2010 13:08

Voilà un version de ton script qui fonctionne :

Code: Tout sélectionner
<?php
// Si $_POST['A'] existe on assigne cette valeur à $A, sinon on initialise $A à 0.
(isset($_POST['A'])) ? $A = $_POST['A'] : $A = 0;
// Si $_POST['B'] existe on assigne cette valeur à $B, sinon on initialise $B à 0.
(isset($_POST['B'])) ? $B = $_POST['B'] : $B = 0;
?>

<html>
<body>
<form action="<?=$PHP_SELF ?>" method="post">
    <label type="text" >entrer A :</label>
    <input type="text" name="A" value="<?=$A?>"><br>
    <label type="text" >entrer B :</label>
    <input type="text" name="B" value="<?=$B?>"><br>
    <input type="submit" name="x" value="Calculer">
</form>
<?php

echo "A=".$A; echo "<br>";
echo "B=".$B; echo "<br>";
$Total=$A+$B;

echo "<b>Resultat :</b><br>A+B=".$Total;
?>
</body>
</html>


j'ai corrigé 3 choses :
- il faut écrire <?=$PHP_SELF ?> et non pas <?php $PHP_SELF ?>, tu aurais pu aussi mettre <? echo $PHP_SELF; ?> mais c'est plus long :)
- Pour éviter les "Notice: Undefined index", il faut tester l'existence de tes variables POST avec isset.
- il manquait le </form> pour fermer le formulaire.
Après j'ai ajouté value="<?=$A?>" et value="<?=$B?>" dans tes input, c'est juste pour ré-afficher les valeurs saisies après le calcul, ça peut remplacer tes lignes "echo" qui suivent.
Autre amélioration que tu peux tester, ne pas afficher la partie "Résultat" si $A ou $B n'est pas renseigné, et afficher des messages d'erreur si c'est le cas. Par exemple : "Erreur : vous n'avez pas indiqué de valeur A." si $A est égal à 0. Il faudrait aussi tester si $A et $B sont des nombres et peuvent donc être additionnés...
“It has to start somewhere, it has to start sometime, what better place than here, what better time than now?”
Avatar de l'utilisateur
gael49
Expert(e)
Expert(e)
 
Messages: 1932
Inscription: 07 Sep 2004 20:11
Localisation: Les Mauges
 

Re: Problème php_self

Message le 15 Nov 2010 19:18

ok merci ça marche.
d'ailleurs ça marche aussi si on met pas action= du-tout j'ai l'impression.
FlamingUFO
Visiteur Confirmé
Visiteur Confirmé
 
Messages: 13
Inscription: 30 Déc 2009 15:24
 

Re: Problème php_self

Message le 16 Nov 2010 08:04

oui c'est vrai, par défaut c'est la page en cours qui est relancée, mais c'est quand même plus correcte de mettre quand même quelque chose. Et il vaut mieux utiliser PHP_SELF au lieu du nom de la page, car ça fonctionne en cas de renommage du fichier.
“It has to start somewhere, it has to start sometime, what better place than here, what better time than now?”
Avatar de l'utilisateur
gael49
Expert(e)
Expert(e)
 
Messages: 1932
Inscription: 07 Sep 2004 20:11
Localisation: Les Mauges
 



Sujets similaires

Message Problème d'impression avec HP 6525
Bonjour,Je ne pense pas que ça vienne des cartouches , moi j'en ai qui viennent d'un pays lointain et que je peux recharger moi-même.Soucis c'est que l'encre ça tache bien les doigts Chez ma fille c'est qu'elle avait eu auparavant déjà une imprimante HP et qu'au changement de matériel elle n'avai ...
Réponses: 4

Message probleme ecran en veile et ordi qui tourne
jai un probleme avec mon ordi de bureau tout tourne normalement lecran marche bien et quelque jours apres en le ralument lecran reste en veil et lordi tourne bien en le demontent jai toucher un peut la carte graphique jai ralumer lordie et la sa a marcher mais quelques jours apres rebelote ecrant en ...
Réponses: 5

Message probleme age of empires 3 sur steam
Salut tout le monde depuis quelque temps lorsque je joue sur Steam avec age of empire 3 définitive édition pendant le jeu aléatoirement le jeu plante comme si ma carte graphique était soit défaillante, soit le processeur car le jeu est souvent assez lent voici le type de message que j'ai avant que t ...
Réponses: 4

Message Problème d’affichage 2e écran et tablette graphique
Bonjour à tous,Le problème est le suivant, j?ai besoin de travailler sur 2 écrans et sur une tablette graphique, le câble de mon 2e écran est en HDMI et ma tablette également. Ne possédant qu?une connectique en HDMI sur ma tour j?ai donc acheté un adaptateur HDMI pour double HDMI histoire de faire f ...
Réponses: 0

Message Lenovo yoga problème écran tactile fausses pressions
Bonjour à tous!Je possède un lenovo yoga qui a commencé à bugger depuis quelques mois... L'écran détecte des pressions de partout alors que j'y touche pas comme dans cette vidéo: https://www.youtube.com/watch?v=NKnI4hhyUqg Même si je redémarre le pc, ça recommence, le pc n'est pas en surchauffe (ça ...
Réponses: 11

Message Problème avec cette dernière mise à jour
J'essaie d'installer cette nouvelle mise à jour Windows critique depuis quelques jours maintenant et je continue à rencontrer le même problème, étant donné que cela ne le fait pas.Je vais donc installer les mises à jour et j'obtiens : Mise à jour des fonctionnalités vers Windows 10, version 20H2 Ins ...
Réponses: 3

Message Problème de micro
Bonjour à tous,Dernièrement, le micro de m webcam sur zoom ne fonctionnait pas. D'ou pourrit venir le problème?Avec les derniers Windows je ne sais même plus ou aller pour tester le micro de ma webcam. Je me souviens qu'à l'époque de skype ou msn je pouvais aller dans le menu Windonws qqprt pour fai ...
Réponses: 2


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


.: Nous contacter :: Flux RSS :: Données personnelles :.