IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Variable POST indéfinie


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 76
    Points : 33
    Points
    33
    Par défaut Variable POST indéfinie
    Bonjour a tous !

    Je me remets au PHP et j'ai un petit souci dans mon script, je ne comprends vraiment pas pourquoi. Je n'arrive pas à récuperer ma variable POST, ca me met undefined index.
    Voila mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Connectez vous ! <br /><br />
    		<form method="POST" action"#">
    			Login :   <input type="text" name"login" size="10"><br /><br />
    			Password : <input type="password" name"pswd" size="10"><br /><br />
    			<input type="submit" value="Connexion" name="Connect">
    		</form>
    		<?php
    		if(isset($_POST['Connect']))
    		{
    			$log = $_POST['login'];
    			$pwd =$_POST['pswd'];
    			echo "la".$_POST['pswd'];
    			//if(connect($log,$pwd)){ 
    			//echo "ok"; 
    			//}
    			//else { 
    			//echo "not ok"; 
    			//}
    			?>
    			Vous êtes connecté
    			<form method="POST" action="#">
    				<input type="submit" value="Deconnection" name="Deconnect">
    			</form>
    		<?php
    		}
    		?>
    Et résultat :

    Notice: Undefined index: login in C:\wamp\www\design30\index.php on line 4

    Notice: Undefined index: pswd in C:\wamp\www\design30\index.php on line 5

    Notice: Undefined index: pswd in C:\wamp\www\design30\index.php on line 6
    la Vous êtes connect


    Je ne comprends vraiment pas.
    Merci de votre aide.
    @+

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Il manque des = entre vos attributs HTML et leurs valeurs. D'où vos variables manquantes puisque ça touche leurs noms

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    		<form method="POST" action="#">
    			Login :   <input type="text" name="login" size="10"><br /><br />
    			Password : <input type="password" name="pswd" size="10"><br /><br />
    			<input type="submit" value="Connexion" name="Connect">
    		</form>

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 76
    Points : 33
    Points
    33
    Par défaut
    Rofl j'ai passé une heure dessus, je dois vraiment être crevé :/

    J'ai un autre petit souci:
    Je veux tester la connexion via odbc a une base sql server
    j'ai crée les logins sous sql server

    if(odbc_connect("mabase",$login,$pass))
    $bool = true
    else
    $bool = false


    Problème mon booleen est toujours égal a 1, même si je mets n'importe quoi en login et pass. Je précise que tout semble OK sous sql server !

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Si ce n'est pas un problème de logique ou lié à la syntaxe, c'est que la connexion n'échoue pas pour autant.

    Appliquez un var_dump à odbc_connect, vous serez sûr du résultat (si c'est une ressource, il y a bien connexion ; si c'est false, la connexion a échoué).

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 76
    Points : 33
    Points
    33
    Par défaut
    Il y a bien une connexion, je ne comprends pas

  6. #6
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    odbc_connect("mabase",$login,$pass)
    Je remarque que tu mets ici "mabase".
    Mais c'est une chaine qui est attendue (driver + nom du serveur, nom de la base), pas juste le nom de la base.
    Est ce correcte à ce niveau ?


    Et si tu fais une vérification comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $res = odbc_connect("mabase",$login,$pass) or die('Erreur : '.odbc_error());
    if (is_resource($ressource)) {
    	// Ok
    }
    else {
    	// Pas une ressource
    	echo "N'est pas une ressource : ".$res;
    }
    Ca donne quoi ?

    Puis si on lit la doc, la fonction odbc_connect() attend un 4è paramètre (optionnel) cursor_type, et il est dit ceci :
    cursor_type

    Fixe le type de pointeur de résultat utilisé pour cette connexion. Ce paramètre n'est généralement pas nécessaire, mais il peut être utile pour contourner certains problèmes ODBC.

    Les constantes suivantes sont définies comme types de pointeur :

    SQL_CUR_USE_IF_NEEDED
    SQL_CUR_USE_ODBC
    SQL_CUR_USE_DRIVER
    SQL_CUR_DEFAULT
    Peut être faudrait il passer en argument 1 des 4 constantes (le type de pointeur).

  7. #7
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,
    if(isset($_POST['Connect']))
    <input type="submit" value="Connexion" name="Connect">
    Certains navigateurs n'envoient pas l'élément submit mais certains l'envoient. Pour contourner ce problème, ajoute un input hidden avec le même name et value que le bouton submit.

Discussions similaires

  1. Vérifier le type d'une variable postée
    Par kespy13 dans le forum Langage
    Réponses: 2
    Dernier message: 21/04/2006, 09h50
  2. Variable POST
    Par Linoa dans le forum Langage
    Réponses: 5
    Dernier message: 08/04/2006, 18h48
  3. Réponses: 22
    Dernier message: 17/03/2006, 21h42
  4. Réponses: 9
    Dernier message: 15/03/2006, 10h46
  5. variable POST
    Par zooffy dans le forum Langage
    Réponses: 5
    Dernier message: 07/03/2006, 18h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo