Des arguments en PHP

Fermé
Sanche Messages postés 12 Date d'inscription jeudi 30 mai 2002 Statut Membre Dernière intervention 31 mars 2003 - 17 févr. 2003 à 19:41
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 27 mai 2008 à 19:00
J'ai installé easyPHP sur mon système et mes scripts fonctionnent, et ensuite je les ai mis sur le serveur (PHP compatible) mais il me crache des erreurs me disant que mes variables sont indéfini:

***formulaire.htm***
<form name="form1" method="post" action="nom2.php">
<input type="text" name="nom">
<b></b></td>
</tr>
<tr>
<td colspan="2"><b>Age: </b></td>
</tr>
<tr>
<td colspan="2"><b>
<input type="text" name="age">
</b></td>
</tr>
<tr>
<td colspan="2"><b>Grandeur:</b></td>
</tr>
<tr>
<td colspan="2">
<input type="text" name="grandeur">
</td>
</tr>
<tr>
<td colspan="2"><b>Nombre de cheveux</b> </td>
</tr>
<tr>
<td width="124">Beaucoup <br>
Peu </td>
<td width="4">
<input type="radio" name="cheveux" value="beaucoup">
<input type="radio" name="cheveux" value="peu">
</td>
</tr>
</table>
<p>
<input type="submit" name="Submit" value="Soumettre">
<input type="reset" name="Submit2" value="Recommencer">
**********

***nom2.php******

<?php

function TonNom($nom,$age,$grandeur)
{

print("Ton nom est $nom.");
print("Tu as $age ans.");
print("Tu es $grandeur de grand.");

}

function cheveux($cheveux)
{

if($cheveux==peu)
{

print("L'age nous rattrape!");

}else{

print("Si tu le dis!");

}

}
TonNom($nom,$age,$grandeur);
cheveux($cheveux);
?>
**********

*****Lorsque je l'exécute:*********

Ton nom est .Tu as ans.Tu es de grand.Si tu le dis! PHP Notice: Undefined variable: nom in C:\Inetpub\wwwroot\sebastien-brandon\sebastien\form\nom2.php on line 31 PHP Notice: Undefined variable: age in C:\Inetpub\wwwroot\sebastien-brandon\sebastien\form\nom2.php on line 31 PHP Notice: Undefined variable: grandeur in C:\Inetpub\wwwroot\sebastien-brandon\sebastien\form\nom2.php on line 31 PHP Notice: Undefined variable: cheveux in C:\Inetpub\wwwroot\sebastien-brandon\sebastien\form\nom2.php on line 32 PHP Notice: Use of undefined constant peu - assumed 'peu' in C:\Inetpub\wwwroot\sebastien-brandon\sebastien\form\nom2.php on line 19

"PHP Notice: Undefined variable: nom in C:\Inetpub\wwwroot\sebastien-brandon\sebastien\form\nom2.php on line 31"

Comment regler le problème!!??
A voir également:

3 réponses

jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
18 févr. 2003 à 10:18
Bonjour,
Essaye d'accéder aux variables postées à
l'aide du vecteur $_POST
$POST["age", $_POST["nom"], ....

Il faurt bien mettre
if($cheveux=="peu")

ou mieux encore
if("peu" == $cheveux)
Ceci permet de trouver plus rapidement les erreurs logiques dans
les tests, genre
if($cheveux = "peu")


Tu peux afficher un dump de $_POST (ou $_GET bien sûr)
function dumpPost()
{
print("<pre>");
print_r($_POST);
print("</pre>");
}

Johan
The software said "Requires Windows98, Win2000, or better,
So I installed Unix.
1
mdali Messages postés 1 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 27 mai 2008
27 mai 2008 à 17:42
<?php
mysql_connect("localhost", "root", "");
// selectionner la base de données
mysql_select_db("ecole");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
</head>

<body>

<?
if(isset($_GET['modifier']))
{
//include("connexion.php");

// connexion au serveur mysql
// serveur login pwd
mysql_connect("localhost", "root", "");
// selectionner la base de données
mysql_select_db("ecole");

// Sélectionnons les champs nom et possesseur de la table "jeux_videos", uniquement lorsque le jeu appartient à Patrick
//$reponse = mysql_query("SELECT * from professeur");
$id=$_GET['modifier'];
$rep=mysql_query("select * from professeur where code='$id'");
mysql_close();
$donnees=mysql_fetch_array($rep);
$Identificateur = $donnees['ID'];
$nom=$donnees['Nom'];
$Prenom=$donnees['Prenom'];
$Phone=$donnees['Phone'];
$Adresse=$donnees['Adresse'];
}
else
{ $id=0; $Identificateur=0; }

if(isset($_POST['ID']))
{if($_POST['Nom']!=null and $_POST['Prenom']!=null and $_POST['Phone']!=null and $_POST['Adresse']!=null)
{
$Identificateur=htmlentities($_POST['ID']);
$Nom=htmlentities($_POST['Nom']);
$Prenom=htmlentities($_POST['Prenom']);
$Phone=htmlentities($_POST['Phone']);
$Adresse=htmlentities($_POST['Adresse']);
//include("connexion.php");
if($Id!='0')
{
echo "afef";
}?>


<?php
mysql_query("update professeur set non='$Nom',prénom='$Prénom',phone='$Phone',adresse='$Adresse' where ID ='$Identificateur'");
?>

<form id="form1" name="form1" method="post" action="index.php">
<label>Nom
<input type="text" name="nom" value="<?php echo $nom; ?>" />
</label>
<p>
<label>Prénom
<input type="text" name="prénom" value="<?php echo $Prenom; ?>" />

</label>
</p>
<p>
<label>Phone
<input type="text" name="phone" value="<?php echo $Phone; ?>" />
</label>
</p>
<p>
<label>Adresse
<input type="text" name="adresse" value="<?php echo $Adresse; ?>" />
</label>
</p>
<p>
<label>
<input type="submit" name="Submit" value="Valider" />
</label>
</p>
</form>
</body>
</html>




Comment je peut corrigée ce programme?

La compilation me donne ça.


Notice: Undefined variable: Nom in C:\Program Files\EasyPHP 2.0b1\www\Ex3\mod_prof.php on line 57

Notice: Undefined variable: Prénom in C:\Program Files\EasyPHP 2.0b1\www\Ex3\mod_prof.php on line 57

Notice: Undefined variable: Phone in C:\Program Files\EasyPHP 2.0b1\www\Ex3\mod_prof.php on line 57

Notice: Undefined variable: Adresse in C:\Program Files\EasyPHP 2.0b1\www\Ex3\mod_prof.php on line 57


Merci de votre aide.


Notice: Undefined variable: Identificateur in C:\Program Files\EasyPHP 2.0b1\www\Ex3\mod_prof.php on line 57
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
27 mai 2008 à 19:00
je t'ai mis des commentaires en correction:

<?php
//tu te connectes deux fois a la Base pourquoi, tu peux suprimer ici
mysql_connect("localhost", "root", "");
// selectionner la base de données
mysql_select_db("ecole");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
</head>

<body>

<?
if(isset($_GET['modifier']))
{
//include("connexion.php");

// connexion au serveur mysql
// serveur login pwd
mysql_connect("localhost", "root", "");
// selectionner la base de données
mysql_select_db("ecole");

// Sélectionnons les champs nom et possesseur de la table "jeux_videos", uniquement lorsque le jeu appartient à Patrick
//$reponse = mysql_query("SELECT * from professeur");
$id=$_GET['modifier'];
$rep=mysql_query("select * from professeur where code='$id'");
mysql_close();
$donnees=mysql_fetch_array($rep);
$Identificateur = $donnees['ID'];
$nom=$donnees['Nom'];
$Prenom=$donnees['Prenom'];
$Phone=$donnees['Phone'];
$Adresse=$donnees['Adresse'];


}
else
{ $id=0; $Identificateur=0; }

if(isset($_POST['ID']))
{
if($_POST['Nom']!=null and $_POST['Prenom']!=null and $_POST['Phone']!=null and $_POST['Adresse']!=null)
{
$Identificateur=htmlentities($_POST['ID']);
$Nom=htmlentities($_POST['Nom']);
$Prenom=htmlentities($_POST['Prenom']);
$Phone=htmlentities($_POST['Phone']);
$Adresse=htmlentities($_POST['Adresse']);
//include("connexion.php");
if($Id!='0')
{
echo "afef";
}?>


<?php
//erreur tu mets $Prénom avec un accent alors que la variable tu l'as définie plus haut sans  (ne jamais mettre d'accent dans les noms de variables)
mysql_query("UPDATE professeur SET non='".$Nom."',prénom='".$Prenom."',phone='".$Phone."',adresse='".$Adresse."' WHERE ID ='".$Identificateur."'");
//la il te manquait les deux  } ci dessous
//donc la req UPDATE se faisait sans avoir les variables $Nom etc..


}
}

?>

<form id="form1" name="form1" method="post" action="index.php">
<label>Nom
<input type="text" name="nom" value="<?php echo $nom; ?>" />
</label>
<p>
<label>Prénom
<input type="text" name="prénom" value="<?php echo $Prenom; ?>" />

</label>
</p>
<p>
<label>Phone
<input type="text" name="phone" value="<?php echo $Phone; ?>" />
</label>
</p>
<p>
<label>Adresse
<input type="text" name="adresse" value="<?php echo $Adresse; ?>" />
</label>
</p>
<p>
<label>
<input type="submit" name="Submit" value="Valider" />
</label>
</p>
</form>
</body>
</html>
0