Se connecter avec
S'enregistrer | Connectez-vous

Erreur : Undefined variable

Dernière réponse : dans Programmation

Bjr à tous,
voilà j essaie de faire un ptit exercice tout bete mais apparemment c est pas si bete que ca!
Voilà je voudrais juste cree 2 zones textes sur une page html et envoyer les données saisies vers une nouvelle page.
voilà mes ptits scripts:


LOGIN.PHP

<?php include("inc/conf.php"); ?>
<?php include("inc/fonctions.php"); ?>
<?php

session_start();

if(session_is_registered('pseudo'))
{
mysql_close($connect_db);
header("location: index.php");
exit;
}

if ($action == "send")
{
if (($pseudo == $pseudo_conf) and ($password == $password_conf))
{
session_register("pseudo");
session_register("password");

mysql_close($connect_db);
header("Location: index.php?".session_name()."=".session_id());
exit();
}
}

?><html>

<head>
<title>Administration</title>
<link REL="StyleSheet" TYPE="text/css" HREF="/<?php echo("$prefixe_dossier"); ?>css/feuille.css">
</head>
<body bgcolor="#FFFFFF">

<table border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#000000">
<tr valign="top">
<td bgcolor="#99CCCC"><b>Identification : </b></td>
</tr>
<tr valign="top">
<td bgcolor="#ffffff">

<form action="login.php" method="post">
<input type="hidden" name="action" value="send">

<table border="0" align="center">
<tr>
<td>Pseudonyme : </td>
<td><input type="text" name="pseudo" size="40"></td>
</tr>
<tr>
<td>Mot de passe : </td>
<td><input type="password" name="password" size="40"></td>
</tr>
</table>

<br>

<center><input type="submit" value="Connexion"></center>

</form>

</td>
</tr>
</table>

</body>

</html><?php mysql_close($connect_db); ?>

Et l'erreur :

Notice: Undefined variable: action in d:\easyphp1-8\www\phpmyfactures\login.php on line 14

Merci à tous pr votre aide.

a+

Autres pages sur : erreur undefined variable

Lassé par la pub ? Créez un compte
Expert Programmation

$action n'existe pas avant le test.
Visiblement, ce n'est pas toi qui a fait ce code, sinon tu aurais trouvé l'erreur. Donc, je suppose qu'il te manque un include d'un .php au début.

EDIT: J'avais pas vu que c'était défini après
Expert Programmation

C'est juste que vu que ton formulaire et ta page de retour de formulaire sont sur la même page, quand tu lances ton formulaire pour la première fois, la variable $action n'est pas définie. (d'ailleurs, il vaut mieux utiliser $_GET['action']).

Pour vérifier que la variable $action est définie, tu remplaces :
  1. if ($action == "send" )

par
  1. if (isset($action) && $action == "send" )
Lassé par la pub ? Créez un compte
Tom's guide dans le monde