Se connecter / S'enregistrer
Votre question

Erreur : Undefined variable

Tags :
  • Php
  • Programmation
Dernière réponse : dans Programmation
20 Octobre 2007 01:45:29

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

a b L Programmation
20 Octobre 2007 19:59:10

$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
a c 232 L Programmation
21 Octobre 2007 10:20:58

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" )
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS