Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/06/2006, 16h19   #1
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 183
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2006
Messages : 183
Points : 29
Points : 29
Envoyer un message via MSN à snakejl
Par défaut j'entrin de créer un code car j'ai du mal à faire certaine chose

Voilà mon but est de se conecter via un login et mdp et si les saisie sont correct alors une page s'affiche.
Mon code de saisie:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<html>
<head>
<title>connection</title>
 
<h4>Pour vous identifier, veuillez entrer votre login:</h4>
 
<FORM method=get action="login1.php" name=form>
 Login:
<?php
echo ('<input type="text" name="login" maxLength="20" size="20" value="'. $_GET[login] .'">');
?>
 Mot de passe:
<?php
echo ('<input type="text" name="passe" maxLength="20" size="20" value="'.$_GET[passe] .'">');
?>
</p><input type="submit" value="OK" action="connection.php"></p>
</head>
</FORM>
</body>
</html>
ensuite j'ai créé ce morceau de code:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<html>
<body>
<head>
<link rel="stylesheet" href="sitebn.css" type="text/css">
<form name="connection" action="liste.php" method="post">
début de mon code
<?
(
 if (login=test) and (passe=jl)
 else liste.php
 )
?>fin de mon code
</p>
<a href="liste.php"><br><font color='yellow'>Revenir à l'accueil</a></font></p>
</head>
</body>
</html>
Sa veut dire si le login et passe c'est test et jl alors ouverture de la page liste.php mais de façon automatique.
J'optimiserai mon code plus tard.

merci
snakejl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2006, 16h28   #2
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Code :
j'entrin de créer un code car j'ai du mal à faire certaine chose
Il est bizarre le titre...

Et il est caché où le problème
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2006, 16h30   #3
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 183
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2006
Messages : 183
Points : 29
Points : 29
Envoyer un message via MSN à snakejl
ben regarde tout est expliquer, si tu ne voit pas ben je réexplique
snakejl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2006, 16h34   #4
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
J'ai beau chercher je ne vois pas de question
Et une traduction du titre c'est possible ?
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2006, 16h47   #5
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 183
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2006
Messages : 183
Points : 29
Points : 29
Envoyer un message via MSN à snakejl
Voilà mon but est de se conecter via un login et mdp et si les saisie sont correct alors une page s'affiche.
Mon code de saisie:

Code :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<html>
<head>
<title>connection</title>
 
<h4>Pour vous identifier, veuillez entrer votre login:</h4>
 
<FORM method=get action="login1.php" name=form>
 Login:
<?php
echo ('<input type="text" name="login" maxLength="20" size="20" value="'. $_GET[login] .'">');
?>
 Mot de passe:
<?php
echo ('<input type="text" name="passe" maxLength="20" size="20" value="'.$_GET[passe] .'">');
?>
</p><input type="submit" value="OK" action="connection.php"></p>
</head>
</FORM>
</body>
</html>

ensuite j'ai créé ce morceau de code qui s'appelle connection.php ou il va verifier si le login et mdp sont exactes:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<html>
<body>
<head>
<link rel="stylesheet" href="sitebn.css" type="text/css">
<form name="connection" action="liste.php" method="post">
début de mon code
<?
(
if (login=test) and (passe=jl)
else liste.php
)
?>fin de mon code
</p>
<a href="liste.php"><br><font color='yellow'>Revenir à l'accueil</a></font></p>
</head>
</body>
</html>
""si login=test et passe=jl alors ouverture de la page liste.php""
c'est sa qu'il me faut: j'ai essayé (voire deuxieme partie de mon code au milieu)

j'espère que tu as compris
snakejl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2006, 16h59   #6
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
D'accord, le problème est juste une redirection vers une page PHP ? Il faut peut-être voir du côté de header (cf FAQ).

Au passage en français c'est connexion.
Et merci d'utiliser la balise code
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2006, 17h08   #7
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 183
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2006
Messages : 183
Points : 29
Points : 29
Envoyer un message via MSN à snakejl
ce n'est pas header , header c'est les erreurs.
moi c'est c'est renvoyé dans une page.php si le login et mdp sont correct.

dsl pour les balise code j'ai pas fais expret
snakejl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2006, 17h22   #8
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Citation:
ce n'est pas header , header c'est les erreurs.
Tu n'as pas dû te renseigner pour dire ça...

Je t'aide un peu mais bon tu pourrais faire un effort de recherche...
http://php.developpez.com/faq/?page=...ts_redirection
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2006, 20h49   #9
Membre chevronné
 
Avatar de kankrelune
 
Inscription : décembre 2005
Messages : 766
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 766
Points : 745
Points : 745
Citation:
Envoyé par snakejl
ce n'est pas header , header c'est les erreurs.


C'est qu'il est affirmatif en plus... un peu de lecture... .. .

fonction header()

@ tchaOo°
kankrelune est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2006, 10h24   #10
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 183
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2006
Messages : 183
Points : 29
Points : 29
Envoyer un message via MSN à snakejl
Je regarde je lis je fais des recherches mais je galère, et je galère vraiment c'est pire que les checkboxs
snakejl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2006, 18h31   #11
Membre chevronné
 
Avatar de Hervé Saladin
 
Développeur Web
Inscription : décembre 2004
Messages : 636
Détails du profil
Informations personnelles :
Âge : 30

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2004
Messages : 636
Points : 689
Points : 689
ouille !
bon, alors déja en PHP, les noms de variables sont précédées de $, le test d'égalité s'écrit avec deux = et les chaines de caractères doivent être encadrées de " ou de ' :
Code :
if(($variable=="valeur")&&($variable2=="valeur2"))
ensuite, l'opérateur booléen "et" ne s'écrit pas "and" mais "&&"
pour ce qui est de la redirection, il faut effectivement la faire avec un header, exemple :
Code :
header("Location: mapage.php");
ceci doit être fait AVANT tout envoi au navigateur client. Ce qui veut dire : pas de balise HTML ni de echo ou print avant le header.
Enfin, dans ton formulaire, l'attribut action ne doit pas pointer vers login1.php, mais vers le script qui effectue la vérification, c'est à dire connection.php
Fais toutes ces modifs, ça sera déjà pas mal.
__________________
Ne cliquez pas sur ce lien
Hervé Saladin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2006, 09h16   #12
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 183
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2006
Messages : 183
Points : 29
Points : 29
Envoyer un message via MSN à snakejl
Ok j'ai regardé ce que tu m'as conseillé.
Voici mon formulaire qui s'apelle debut.php:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?include ("connection.php");?>
<html>
<head>
<title>connection</title>
 
<h4>Pour vous identifier, veuillez entrer votre login:</h4>
 
<form name="identification" action="connection.php" method="post">
 Login:
<?php
echo ('<input type="text" name="login" maxLength="20" size="20" value="'. $_GET[login] .'">');
?>
 Mot de passe:
<?php
echo ('<input type="text" name="passe" maxLength="20" size="20" value="'.$_GET[passe] .'">');
?>
</p><input type="submit" value="OK" action="connection.php"></p>
</head>
</FORM>
</body>
</html>
ensuite j'ai créé un fichier comme tu m'as dis connection.php et qui se trouve en haut de mon code en include.
Code :
1
2
3
4
5
6
<?
(
if(($login=="jl")&&($passe=="test"))
else header("Location: liste.php");
 )
?>
Voilà d'après ce que j'ai compris mais sa ne marche pas.J'espere que j'ai compris sa.
D'après mes tests quand je mets le fichier <?include ("connection.php");?> en haut ma page debut.php il n'y a rien qui s'affiche.
Voici merci de m'aider car c'est plus interressant de faire petit à petit que prendre des sripts dejà fais.
snakejl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2006, 09h31   #13
Membre Expert
 
Homme
Inscription : janvier 2004
Messages : 1 238
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Finance

Informations forums :
Inscription : janvier 2004
Messages : 1 238
Points : 1 421
Points : 1 421
oulala... j'ai pas lu tout les messages, mais le dernier m'horrifie un peu ;o)

Comprends tu le code que tu ecris ?

* <?php est préférable a <?
* connection.php est appelé en debut de page ET comme action du formulaire... a mon avis c'est l'action qui est fausse...
* ton formulaire est en methode POST (en majuscule c'est mieux au passage) et tu tente de récuperer avec $_GET
* dans connection.php tu tente meme de recuperer sans $_POST ni $_GET : aucune chance que ca marche
* Un indice de tableau DOIT OBLIGATOIREMENT etre entouré de quote (') quand c'est une chaine de caractere !!!! (cf $_GET[...])
* Pour les raisons de sécurité, on ne réaffiche jamais un password dans un formulaire, et le type "password" est plus adapté que "text"
* Ah oui, au fait... tout ton code html est dans les balises head (mon dieu, ou est la caméra !!!) et la balise body n'est jamais ouverte (mais fermée par contre... ), je parle meme pas du chevauchement head/form...
* Les parentheses dans le fichier connection.php servent a quelque chose ? mon esprit déconnecte là, peut etre a ouvrir un sous shell ?? ahah, je sais pas... enfin si je sais : a rien !
* "if (condition) else action" : est-ce que c'est la syntaxe d'un if normal ???? je t'aide : la réponse est non

Donc... en vrac :

http://php.net/fr/if
http://php.net/fr/include
http://fr3.php.net/manual/fr/language.types.array.php
http://fr3.php.net/manual/fr/languag...s.external.php

Et plus généralement : http://fr3.php.net/manual/fr/langref.php
__________________
PHP :
Regle n°1 : mysql_query(...), mysql_connect(...) et mysq_select_db(...) doivent EN DEBUG etre suivies de or die(mysql_error()); (mais jamais en production)
Regle n°2 : Mieux encore : mysql_query($requete) or die("$requete<br/>".mysql_error());
Regle n°3 : echo '<pre>';var_dump($var);echo '</pre>'; affiche le contenu et le type d'une variable.
Publiez vos textes de fantasy et de science-fiction sur http://www.cercledefaeries.com/concours/
Fladnag est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2006, 09h36   #14
Membre expérimenté
 
Inscription : avril 2006
Messages : 462
Détails du profil
Informations personnelles :
Âge : 33
Localisation : Canada

Informations forums :
Inscription : avril 2006
Messages : 462
Points : 556
Points : 556
Envoyer un message via MSN à rbaatouc Envoyer un message via Skype™ à rbaatouc
1 - si tu fais un include de connection alors ton form doit rappeler debut.php
2 - Utilises partout <?php au lieu de <?
3 - tu utilises les $_GET mais s'ils n'existent pas ça te fera une erreur donc verifier leur existence
4 - Il manque les guillemets dans tes $_GET
5 - ton fichier connection.php est bizar (parenthese, aucune recuperation de valeur ,condition if etc)

debut.php
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
<?php include "connection.php";?>
<html>
<head>
<title>connection</title>
</head>
<body>
<h4>Pour vous identifier, veuillez entrer votre login:</h4>
<form name="identification" action="debut.php" method="post">
<?php
//Inititialisation
$val_login ="";
//Vérification
if(isset($_POST["login"])) $val_login = $_POST["login"];
 
echo (' Login:<input type="text" name="login" maxLength="20" size="20" value="$val_login">');
 
echo (' Mot de passe:<input type="password" name="passe" maxLength="20" size="20" value="");
?>
</p><input type="submit" value="OK" action="connection.php"></p>
</FORM>
</body>
</html>
Connection.php
Code :
1
2
3
4
5
6
7
<?php
if(isset($_POST["passe"]) && $_POST["passe"] =="test" &&
isset($_POST["login"]) && $_POST["login"] =="jl")
{
header("Location: liste.php");
}
?>
ps : jai pas testé le code mais ça te permettra davancer
rbaatouc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2006, 09h58   #15
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 183
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2006
Messages : 183
Points : 29
Points : 29
Envoyer un message via MSN à snakejl
C'est vrai que j'ai fais des fautes c'est car je me suis dépéché j'ai tout rectifier mais c'est abusé sachant que dans mes autres page tout est niquel.
J'ai rectifié une erreur que tu as faites
Code :
echo (' Mot de passe:<input type="password" name="passe" maxLength="20" size="20" value="">');
Mais je ne comprend pas sa
$val_login =""; et sa
Code :
if(isset($_POST["login"])) $val_login = $_POST["login"];
merci de me dire
snakejl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2006, 10h16   #16
Membre expérimenté
 
Inscription : avril 2006
Messages : 462
Détails du profil
Informations personnelles :
Âge : 33
Localisation : Canada

Informations forums :
Inscription : avril 2006
Messages : 462
Points : 556
Points : 556
Envoyer un message via MSN à rbaatouc Envoyer un message via Skype™ à rbaatouc
Citation:
Envoyé par snakejl
Mais je ne comprend pas sa
$val_login ="";
initialise la variable car je l'utilise dans l'input c'est un peu ma valeur par défaut
Citation:
Envoyé par snakejl
et sa
Code :
if(isset($_POST["login"])) $val_login = $_POST["login"];
je vérifie que la variable que tu envoie avec ton formulaire avec post existe bien (isset), si elle existe alors je laffecte a $val_login tout simplement
rbaatouc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2006, 10h30   #17
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 183
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2006
Messages : 183
Points : 29
Points : 29
Envoyer un message via MSN à snakejl
okok parfaitement compris on initialise, on verifie et si elle existe on l'affecte.
J'ai compris la structure mais sa ne marche pas(page blanche)
snakejl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2006, 11h01   #18
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 183
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2006
Messages : 183
Points : 29
Points : 29
Envoyer un message via MSN à snakejl
Il y a un problème dans cette ligne la
Code :
echo (' Login:<input type="text" name="login" maxLength="20" size="20" value="$val_login">');

comme tout à l'heure si j'enlève
Code :
<?php include ("connection.php");?>
ma page debut.php affiche login et mot de passe MAIS dans la zone de saisie du login nous avions dedans $val_login donc il y a une erreur quelque part et je ne voit pas ou.
snakejl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2006, 11h09   #19
Membre expérimenté
 
Inscription : avril 2006
Messages : 462
Détails du profil
Informations personnelles :
Âge : 33
Localisation : Canada

Informations forums :
Inscription : avril 2006
Messages : 462
Points : 556
Points : 556
Envoyer un message via MSN à rbaatouc Envoyer un message via Skype™ à rbaatouc
Citation:
Envoyé par snakejl
comme tout à l'heure si j'enlève
Code :
<?php include ("connection.php");?>
ma page debut.php affiche login et mot de passe MAIS dans la zone de saisie du login nous avions dedans $val_login donc il y a une erreur quelque part et je ne voit pas ou.
jai rien compris a ce que tu as voulu dire
rbaatouc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2006, 11h20   #20
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 183
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2006
Messages : 183
Points : 29
Points : 29
Envoyer un message via MSN à snakejl
J'ai ma page debut.php ou j'ai sa:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
<?php include ("connection.php");?>
<html>
<head>
<BODY>
<title>connection</title>
<h4>Pour vous identifier, veuillez entrer votre login:</h4>
<form name="identification" action="debut.php" method="POST">
<?php
//Inititialisation
$val_login ="";
//Vérification
if(isset($_POST["login"])) $val_login = $_POST["login"];
 
echo (' Login:<input type="text" name="login" maxLength="20" size="20" value="$val_login">');
 
echo (' Mot de passe:<input type="password" name="passe" maxLength="20" size="20" value="">');
?>
</p><input type="submit" value="OK" action="connection.php"></p>
 
</FORM>
</body>
</head>
</html>
Ensuite dans mon fichier connection.php j'ai sa:
Code :
1
2
3
4
5
6
7
8
9
<?php
(
if(isset($_POST["passe"]) && $_POST["passe"] =="test" &&
isset($_POST["login"]) && $_POST["login"] =="jl")
{
header("Location: liste.php");
}
 )
?>
Quand j'affiche ma page debut.php il n'y a rien qui s'affiche, page blanche.

J'ai effectué des tests:
Quand j'enlève <?php include ("connection.php");?> de mon fichier debut.php, il y a les 2champs login et mot de passe qui s'affiche.
Dans le champ de saisi du login il est marqué sa:
$val_login


Il y a 2blems:
l'include(conection.php) m'empeche d'afficher les information de ma page.
si j'enlve l'include les information s'affiche mais dasn mon champs ou je sais le login il est marqué sa $val_login

voilà truc de fou
snakejl est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h59.


 
 
 
 
Partenaires

Hébergement Web