web-dev-qa-db-fra.com

PHP: obtenir la valeur de TEXTBOX puis la transmettre à une VARIABLE

Mon problème est:

Je veux obtenir la valeur de textbox1, puis la transférer sur une autre page où la valeur de textbox1 apparaîtra dans textbox2.

Voici mes codes pour PHP:

<html>
<body>

<form name='form' method='post' action="testing2.php">

Name: <input type="text" name="name" id="name" ><br/>

<input type="submit" name="submit" value="Submit">  

</form>
</body>
</html>

J'ajoute également le code ci-dessous et l'erreur est "Remarque: index non défini: nom"

<?php 
$name = $_GET['name'];
echo $name;
?>

ou

<?php 
$name = $_POST['name'];
echo $name;
?>

Dans testing2.php, utilisez le code suivant pour obtenir le nom:

if ( ! empty($_POST['name'])){
    $name = $_POST['name']);
}

Lorsque vous créez la page suivante, utilisez la valeur de $name pour préremplir le champ du formulaire:

Name: <input type="text" name="name" id="name" value="<?php echo $name; ?>"><br/>

Cependant, avant de faire cela, assurez-vous d'utiliser des expressions régulières pour vérifier que le nom $ ne contient que des caractères valides, tels que:

$pattern =  '/^[0-9A-Za-zÁ-Úá-úàÀÜü]+$/';//integers & letters
if (preg_match($pattern, $name) == 1){
    //continue
} else {
    //reload form with error message
}
11
User4407

Je pense que vous devriez avoir besoin de vérifier pour isset et non pour une valeur vide, comme le formulaire a été soumis sans données d'entrée afin que isset soit vrai. Cela vous évitera toute erreur ou notification.

if((isset($_POST['name'])) && !empty($_POST['name']))
{
    $name = $_POST['name']; //note i used $_POST since you have a post form **method='post'**
    echo $name;
}
4
Fabio

Vous publiez les données, elles doivent donc être $ _POST. Mais "nom" n'est pas le meilleur nom à utiliser.

name = "name"

ne fera que semer la confusion OMI.

1
Andy G

À l'intérieur testing2.php vous devez imprimer le $_POST tableau qui contient toutes les données de la publication. Aussi, $_POST['name'] devrait être disponible. Pour plus d'informations, vérifiez $ _ POST on php.net .

0
Sorin S.