Session qui ne fonctionne pas sur online
Résolu
jeandeleaudepluie
-
jeandeleaudepluie -
jeandeleaudepluie -
Bonjour,
J'essaye un script que j'ai trouvé dans un tuto , celui fonctionne super sur FREE.fr mais par contre contre le même ne fonctionne pas sur oneline.net!
C'est un script pour protéger une page de mon site!
je mets le code ci dessous :
le formulaire
la page login.php
et la page afficher.php qui doit s'afficher si ok
et donc j'ai cette erreur la
Notice: Undefined variable: login in /flex/domain/monsite.fr/site/www/admin/login.php on line 6
et la ligne c'est celle ci
if ( $login == $login_defini && $password == $password_defini )
merci de votre aide car la je comprends pas que ca marche sur free et pas sur online
J'essaye un script que j'ai trouvé dans un tuto , celui fonctionne super sur FREE.fr mais par contre contre le même ne fonctionne pas sur oneline.net!
C'est un script pour protéger une page de mon site!
je mets le code ci dessous :
le formulaire
<form method="post" action="login.php">
<table border="0" width="400" align="center">
<tr>
<td width="200"><b>Vôtre login</b></td>
<td width="200"><input type="text" name="login"></td>
</tr>
<tr>
<td width="200"><b>Vôtre mot de passe<b></td>
<td width="200"><input type="password" name="password"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="submit" value="login">
</td></tr>
</table>
</form>
la page login.php
<?
$login_defini = "admin";// on défini un login pour la démo
$password_defini = "password"; // on défini un password pour la démo
// On vérifie les valeur du formulaire
if ( $login == $login_defini && $password == $password_defini )
{
// Si les password et login sont valides
session_start();// on démarre une session
// On enregistre les variables login et password dans la session en cours
session_register("login");// Attention, pas de signe $ dans le
session_register
session_register("password");
header('location: afficher.php');// Redirection sur une page pour afficher le
résultat
}
else{
// Si les password et login ne sont pas valides, on affiche un message
d'erreur
print 'Password ou login non valide';
}
?>
et la page afficher.php qui doit s'afficher si ok
<?
session_start();// on démarre la session
// On affiche les variables enregistrées dans la sessions
print 'Vôtre login est '.$login.' et vôtre password '.$password.'<br>';
// Simple non ? , maintenant fesons quelques vérifications
if ( !session_is_registered("password") )
{
print 'Vôtre mot de passe n\'est pas enregistré <br>';
}
// on affiche un lien pour terminer une session
print '<a href="logout.php">Détruire la session</a><br>';
?>
et donc j'ai cette erreur la
Notice: Undefined variable: login in /flex/domain/monsite.fr/site/www/admin/login.php on line 6
et la ligne c'est celle ci
if ( $login == $login_defini && $password == $password_defini )
merci de votre aide car la je comprends pas que ca marche sur free et pas sur online
A voir également:
- Call to undefined function session_register()
- Session invalide ou obsolète - Forum Consommation & Internet
- Clopes online avis ✓ - Forum Consommation & Internet
- Cresus online casino avis - Forum Consommation & Internet
- Www.yahoomail.com ouverture de session ✓ - Forum Yahoo mail
- Teamviewer code de session expiré ✓ - Forum Logiciels
9 réponses
Bonjour,
<?php session_start(); ?>est à mettre en tout tout tout début de page. même avant le DOCTYPE :). ( en parlant du fichier login.php bien évidement ).
Sur ton espace Free, ils ont peut être activé REGISTER_GLOBALS (ou un truc du genre), est c'est pas sécurisé.
A la place de :
if ( $login == $login_defini && $password == $password_defini )
Utilises plutôt :
if ( $_REQUEST['login'] == $login_defini && $_REQUEST['password'] == $password_defini )
A la place de :
if ( $login == $login_defini && $password == $password_defini )
Utilises plutôt :
if ( $_REQUEST['login'] == $login_defini && $_REQUEST['password'] == $password_defini )
Bonjour et merci a tous pour vos réponses,
j'ai modifié comme m'a dit Nhenry, je n'ai plus l'erreur d'origine mais j'ai celle ci dans une autre ligne
Fatal error: Call to undefined function session_register() in /flex/domain/monsite.fr/site/www/admin/login.php on line 12
ma ligne 12 et 13
session_register("login");// Attention, pas de signe $ dans le session_register
session_register("password");
j'ai modifié comme m'a dit Nhenry, je n'ai plus l'erreur d'origine mais j'ai celle ci dans une autre ligne
Fatal error: Call to undefined function session_register() in /flex/domain/monsite.fr/site/www/admin/login.php on line 12
ma ligne 12 et 13
session_register("login");// Attention, pas de signe $ dans le session_register
session_register("password");
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
j'ai fais comme ca
$_SESSION['login']=$login_defini ;
$_SESSION['password']=$password_defini ;
et je n'ai plus d'erreur!
c'est bien ca qu'il fallait faire?
$_SESSION['login']=$login_defini ;
$_SESSION['password']=$password_defini ;
et je n'ai plus d'erreur!
c'est bien ca qu'il fallait faire?
ah bon! je vais voir ca !
par contre peut tu me dire comment afficher une image avec un lien en php car je beug!
j'ai testé ca mais ca ne m'affiche pas l'image qui est dans le même dossier que mes pages
echo "<br><br><a href='quitter.php'> <img src='\deconnexion.jpg' /> </a>";
par contre peut tu me dire comment afficher une image avec un lien en php car je beug!
j'ai testé ca mais ca ne m'affiche pas l'image qui est dans le même dossier que mes pages
echo "<br><br><a href='quitter.php'> <img src='\deconnexion.jpg' /> </a>";
Normalement l'antislash ( \ ) est associé aux noms sous Windows.
Ton site sur free ou online est sur un serveur linux, les chemins de fichiers utilisent alors le slash ( / ) donc par exemple /dossier/deconnexion.jpg mais pas de /deconnexion.jpg car la signification est alors à la racine du site. et dossier/deconnexion.jpg signifie depuis l'endroit courant donc cela va chercher sur /dossier/dossier/deconnexion.jpg
Pour le même répertoire la syntaxe devrait être tout simplement deconnexion.jpg
Mais comme indiqué plus haut on est sur un serveur linux et les noms sont sensibles aux majuscules/minuscules. Deconnexion.jpg n'est pas le même fichier que deconnexion.jpg
Ton site sur free ou online est sur un serveur linux, les chemins de fichiers utilisent alors le slash ( / ) donc par exemple /dossier/deconnexion.jpg mais pas de /deconnexion.jpg car la signification est alors à la racine du site. et dossier/deconnexion.jpg signifie depuis l'endroit courant donc cela va chercher sur /dossier/dossier/deconnexion.jpg
Pour le même répertoire la syntaxe devrait être tout simplement deconnexion.jpg
Mais comme indiqué plus haut on est sur un serveur linux et les noms sont sensibles aux majuscules/minuscules. Deconnexion.jpg n'est pas le même fichier que deconnexion.jpg