Probleme Variable PHP

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Probleme Variable PHP

Re: Probleme Variable PHP

par vincent.c » 01 nov. 2016, 18:45

Bonjour,

Comme a pu l'écrire Naroth, ta variable $error est déclarer dans une fonction, et donc inaccessible depuis l'extérieur.

Une fois que tu aura ajouté une valeur de retour à ta fonction login, dans ton fichier login.php tu pourra alors remplacer :
<?php if(!empty($_POST))
  {
    login();
  }
    ?>
par :
<?php 
	if(!empty($_POST)) {
		$error = login();
	}
?>
Bonne continuation.

Re: Probleme Variable PHP

par Naroth » 29 oct. 2016, 01:31

Bonsoir,

Ta variable $error est déclaré dans ta fonction login de ce fait elle n'existe que dans cette fonction.
Sortie de la fonction $error n'as jamais été défini donc n'existe pas.

Je te conseille donc retourner ta variable error a la fin de ta fonction
return $error;

Probleme Variable PHP

par Twinki » 28 oct. 2016, 15:37

Bonjour, je n'arrive pas à faire fonctionner ma variable $erreur.
Pouvez-vous m'aider svp ? ( le message d'erreur est en bas de l'article )

Fichier function.php
<?php

////////////////
// Connexion // = login
//////////////
function login()
{
	// Definition user et password.
    $username = "user";
    $password = "password";
	
	// message d'erreur
	$error = "";

	// Vérifie si l'utilisateur est déjà connecté. Si oui, à la page refirect corriger..
    if (isset($_SESSION['online']) && $_SESSION['online'] == true) {
        $error = "success";
        header('Location: test.php');
    } 
        
	// Vérifie si le nom d'utilisateur et mot de passe ont été saisis.
    // Si oui et sont égaux au nom d'utilisateur et mot de passe défini.
    if (isset($_POST['username']) && isset($_POST['password'])) {
        if ($_POST['username'] == $username && $_POST['password'] == $password) {
            $_SESSION['online'] = true;
            header('Location: test.php');
        } else {
            $_SESSION['online'] = false;
			$error = '<div class="alert alert-danger">
						<strong>Attention!</strong> Le nom ou le mot de passe est invalide
					  </div>';
        }
    }
}
Fichier login.php :
<html>
	<head>
		<title>l'Administration à Twinki</title>
		<!-- Le fichier include permet de faire les liens avec les fonctions, les object, ainsi que le css et les meta du site -->
		<?php include('./include.php'); ?>
	</head>
	
    <?php if(!empty($_POST))
	{
		login();
	}
    ?>	
	
	<!-- Mise en forme du site web -->
	<body>
		<div class="container">
			<div id="loginbox" style="margin-top:250px;" class="mainbox col-md-6 col-md-offset-3">
				<div class="panel panel-primary" >
					<div class="panel-heading">
						<div class="panel-title">Accéder à l'interface</div>
					</div>
					<div style="padding-top:30px" class="panel-body" >
						<form class="form-horizontal" action="login.php" method="POST">
							<div style="margin-bottom: 25px" class="input-group">
								<span class="input-group-addon"><i class="fa fa-user"></i></span>
								<input type="text" class="form-control" name="username" placeholder="Nom d'utilisateur">
							</div>
							<div style="margin-bottom: 25px" class="input-group">
								<span class="input-group-addon"><i class="fa fa-key"></i></span>
								<input type="password" class="form-control" name="password" placeholder="Mot de passe">
							</div>
							    <?php echo $error; ?>	
							<div class="form-group-inline pull-left">
								<a href="https://gomes.fr.nf" class="btn btn-primary" role="button">Retour vers l'accueil</a>
							</div>							
							<div class="form-group-inline pull-right">
								<input class="btn btn-success" type="submit" name="submit" value="Connexion"/>
							</div>
						</form>					
					</div>
				</div>
			</div>
		</div>
	</body>
</html>
Message d'erreur = Notice: Undefined variable: error in C:\wamp64\www\template\login.php on line 34
Call Stack
# Time Memory Function Location
1 0.0003 238136 {main}( ) ...\login.php:0

Merci, Cordialement
Jérémy Gomes - Twinki