Des arguments en PHP

Sanche Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -  
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Modérateur Dernière intervention   934
 
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   Statut Membre Dernière intervention  
 
<?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   Statut Membre Dernière intervention   894
 
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