OVH Cloud OVH Cloud

question de debutant sur post

2 réponses
Avatar
mesnews
ce fichier php devrait donner le carré saisi dans une zone de texte mais au
lancement j'ai un message d'erreur sur la ligne comportant $_POST['nom']
(undesigned index nom...) ce qui n'empeche toutefois pas le code de
fonctionner, merci de dire pourquoi

<html>
<form method="POST" action="">
<input type="text" name="nom" value="0">
<input type="submit" value="valider" name="valider">
</form>
</html>
<?php

function carre (&$inter)
{
echo "<BR> fonction retournant le carre de $inter<br>";
$inter=$inter*$inter;
return($inter);
}

$var=$_POST['nom'];
echo carre($var);
?>

2 réponses

Avatar
Olivier Miakinen

ce fichier php devrait donner le carré saisi dans une zone de texte mais au
lancement j'ai un message d'erreur sur la ligne comportant $_POST['nom']
(undesigned index nom...) ce qui n'empeche toutefois pas le code de
fonctionner, merci de dire pourquoi


On a eu une discussion sur le même sujet il y a quelques jours, avec
deux personnes différentes (ça vaudrait peut-être le coup d'en faire une
entrée dans la FAQ, si elle n'y est pas déjà).

<html>
<form method="POST" action="">
<input type="text" name="nom" value="0">
<input type="submit" value="valider" name="valider">
</form>
</html>
<?php

[...]

$var=$_POST['nom'];


Lorsque tu génères ta page la première fois, le formulaire n'existe
pas encore alors que tu essayes déjà d'accéder à un $_POST['nom']
hypothétique.

Essaye ceci :

$var = isset($_POST['nom']) ? $_POST['nom'] : 0;

Avatar
Delf

<html>
<form method="POST" action="">
<input type="text" name="nom" value="0">
<input type="submit" value="valider" name="valider">
</form>
</html>
<?php

function carre (&$inter)
{
echo "<BR> fonction retournant le carre de $inter<br>";
$inter=$inter*$inter;
return($inter);
}

$var=$_POST['nom'];
echo carre($var);
?>


Faire par exemple ceci:

<?
if (isset($_POST['nom'])) {

// Calculer le carré - Vérifier qu'il s'agit d'un nombre ?
$var=$_POST['nom'];
echo carre($var);
}
else {

// Afficher le formulaire
}
?>

--
Delf