Code : Tout sélectionner
Tu désires envoyer des variables de la verifLogin.php à la accueil.php.
verifLogin.php3 : l'envoi
<html>
<head>
<script language="Javascript"
<!--
// On passe 2 variables tant qu'à faire
var param1="var1";
var param2="var2";
function go()
{
window.location.href="accueil.php3?param1="+param1+"¶m2="+param2;
}
// -->
</script>
</head>
<body>
<a href="javascript:go()">Vers la page 2</a>
</body>
</html>
L'utilisation deJS n'est qu'un ex.
On peut aussi avoir :
<?php
$param1="10";
$param2="20";
?>
...
<a href="accueil.php3?param1=<?php echo $param1; ?>¶m2=<?php echo $param2; ?>">Vers la page 2</a>
Page 2 : la réception
Php va automatiquement créer pour toi les variables
$param1 et $param2 : tu n'as donc rien à faire !
accueil.php3
<html>
<head>
</head>
<body>
...
<?php
echo "param1=".$param1."<br>";
echo "param2=".$param2."<br>";
?>
...
</body>
</html>
Une autre solution consiste à utiliser les formulaires : par ex avec un formulaire la page
verifLogin.php3 devient :
<html>
<body>
<form action="accueil.php3" method="post">
<input type="submit" value="Vers la page 2">
Entrez le param 1 : <input type="text" name="param1">
Entrez le param 2 : <input type="text" name="param2">
</form>
</body>
</html>
Si tu ne désires pas saisir il suffit de transmettre les paramètres en tant que champs cachés ( hidden)
<form action="accueil.php3" method="post">
<input type="submit" value="Vers la page 2">
<input type="hidden" value="<?php echo $param1; ?>" name="param1">
<input type="hidden" value="<?php echo $param2; ?>"
name="param2">
</form>
Ce qui est important c'est de bien donné un nom avec l'attribut "name" !
La page 2 reste inchangée !!
Ps : j'ai trouvé ces explications en anglais sur l'excellent site : http://www.wsabstract.com
Bye
Philippe
Par ailleurs il existe sur le web des tutos concernant l'architecture d'un espace membre sur un site...par exemplesur Developpez.com. Regarde l'utilisation des sessions aussi.France-Webmaster est une équipe se chargeant de mettre à votre disposition un site Internet afin de promouvoir votre entreprise et vos projets personnels, ceci d'une manière simple et à des prix attractifs.
Code : Tout sélectionner
pseudo=
pass=
Erreur SQL !
SELECT pseudo,pass". "FROM user ". "WHERE pseudo=""
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '". "WHERE pseudo=""' at line 1Code : Tout sélectionner
videCode : Tout sélectionner
<?php
echo "pseudo=".$pseudo."<br>";
echo "pass=".$pass."<br>";
// on se connecte à MySQL
$db = mysql_connect('sql.free.fr', 'francewebmaster', '********');
// on sélectionne la base
mysql_select_db('francewebmaster',$db);
// on crée la requête SQL
$sql = 'SELECT pseudo,pass". "FROM user ". "WHERE pseudo="'.$pseudo.'"';
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
// on ferme la connexion à mysql
mysql_close();
?>Code : Tout sélectionner
<html>
<head>
<title>Connexion</title>
</head>
<body>
<?php
if(isset($_GET['msg']) && $_GET['msg'] == '0'){
echo '<center><h3>Le pseudonyme ou le mot de passe est erroné, veuillez réessayer !</h3></center>';
}
?>
<form method="post" action="verifLogin.php">
<table border="0" width="400" align="center">
<tr>
<td width="200">Pseudo</td>
<td width="200">
<input type="texte" name="pseudo">
</td>
</tr>
<tr>
<td width="200">Pass</td>
<td width="200">
<input type="password" name="pass" />
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="submit" value="Vérifier">
</td>
</tr>
</table>
</form>
</body>
</html>Code : Tout sélectionner
<?php
$loginOK = false;
$pseudo = isset($_POST['pseudo']) ? $_POST['pseudo'] : "";
$pass = isset($_POST['pass']) ? $_POST['pass'] : "";
if ( (!empty($pseudo)) && (!empty($pass)) )
{
//connexion à la base de données
$liendb = mysql_connect("sql.free.fr","francewebmaster","******");
$db = mysql_select_db(francewebmaster);
// On va vérifier l'existence du couple pseudonyme+mot de passe
$sql = "SELECT COUNT(*) FROM `user` WHERE `pseudo` = '" . addslashes($pseudo) . "' AND `pass` = '" . addslashes($pass) . "'";
/* Exécution de la requête */
$req = mysql_query($sql) or die("Erreur lors de l'exécution de la requête : \"".$sql ."\";<br />\nErreur retournée : ". mysql_error());
// On vérifie le résultat retourné
if (mysql_result($req, 0) == 1)
{
$loginOK = true;
}
}
// Si le login a été validé on met les données en sessions
if ($loginOK)
{
/* On enregistre jamais un mot de passe dans une variable de session ! */
$_SESSION['pseudo'] = $pseudo;
/* REDIRECTION VERS LA PAGE UTILISATEUR RECONNU*/
header('Location: nompage.php3');
}
else
{
header('Location: id.php?msg=o');
}
// ESSAYER SANS LES " " !!
?>
<a href="nompage.php3?pseudo=<?php echo $pseudo; ?>&pass=<?php echo $pass; ?>">Vers la page nompage.php3</a>
pseudo=admin
pass=032e52001bccdb98
Erreur SQL !
SELECT pseudo,pass". "FROM user ". "WHERE pseudo="admin"
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '". "WHERE pseudo="admin"' at line 1
at line 1 y a juste <?php... je doit mettre <? ???// on crée la requête SQL
$sql = 'SELECT pseudo,pass". "FROM user ". "WHERE pseudo="'.$pseudo.'"';
Ta chaine (la requête SQL) est entre apostrophes. mais tu as mis des "." dans la chaine : les guillemets seront donc envoyés tels quels et n'ont rien à faire dans la requête.// on crée la requête SQL
$sql = "SELECT pseudo, pass ".
"FROM user ".
"WHERE pseudo='". $pseudo ."'";
Observe la différence au niveau de la coloration syntaxique, c'est un bon point de repère pour voir rapidement des erreurs.
En fait, on tente que tu fasses des choses en les comprenant, sans juste te donner le code en copier/coller.quand on ne trouve pas des informayions du style :
1) clique ici
2) clique là
3) tape ça : ...