Il y a actuellement 135 visiteurs
Samedi 22 Mars 2025
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...
Avatar de l'utilisateur
gael49
Expert(e)
Expert(e)
 
Messages: 1935
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.
Avatar de l'utilisateur
gael49
Expert(e)
Expert(e)
 
Messages: 1935
Inscription: 07 Sep 2004 20:11
Localisation: Les Mauges
 



Sujets similaires

Message [réglé] Probleme carte ethernet
Bonjour a tous,Depuis hier je rencontre un problème avec ma carte ethernet. Mon PC m'informe que celui-ci n'est pas connecté a internet (icône de la barre des taches). Par contre j'ai internet par le biais de mon VPN. Avez vous une petite idée ? Par avance merci
Réponses: 35

Message probleme affichage ecran
salut tout le monde Je suis sur windows 11 depuis environ janvier 2025 : ma dernière Édition : Windows 11 Professionnel Version 24H2 (build du système d'exploitation 26100.3323 )Installé le ?01/?03/?2025Build du système d?exploitation 26100.3323Expérience Pack d?expérience de fonctionnalités Windo ...
Réponses: 10

Message Problème mise à jour windows 11
Salut à tous, j'ai un souci sur mon ordinateur hp tout en un, à l'époque de la sortie de Win11 j'vavais forcé le passage car mon ordinateur n'avait les prérecquis, tout a toujours bien fonctionner sans problème, sauf depuis peu, je ne peux plus faire de MAJ sur windows update, il y a écrit "Vou ...
Réponses: 8

Message Probleme Meta Facebook pour page pro
Bonjour à tous, est ce quelqu'un ici s'y connait en Meta facebook pour la gestion des pages pro et les liens instagram? Je m'explique en 2021 j'ai créer mon entreprise avec une page Facebook qui était rattaché à mon profil perso ou j'avais la gestion intégrale, puis en 2022 un profil instagram profe ...
Réponses: 2

Message problème jeu pc indiana jones et le cercle ancien
Bonjour,Pourriez-vous m'aider à résoudre l'erreur " english missing vulkan device extensions please update your graphics driver or gpu vk KHR ray querry" au moment de démarrer le jeu pc "Indiana Jones et le cercle ancien" sur un pc avec la configuration :Carte mère F898 Saber ...
Réponses: 9

Message Problème USB 3 sur mini PC (SSD M2 externe)
Bonjour a tous, j'ai un problème sur un mini PC fonctionnant sur un Intel N100. Il y a 2 port usb2 et 2 ports usb3. Mon problème ? Il semble que certains perifériques ne fonctionnent pas correctement (en l'occurence, les boitiers externes pour SSD M2).Si le SSD M2 est connecté sur un USB3 j'obtiens ...
Réponses: 5

Message probleme avec le logiciel nvidia
Bonjour,Oui DDU est très efficace , on s'en sert surtout quand on change de fabricant de carte graphique de AMD vers Nvidia par exemple. Il nettoie tout.Bonne journée.
Réponses: 13


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 3 invités


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