JeuWeb - Crée ton jeu par navigateur
Bases d'un site : zone membres, inscription, administration - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Bases d'un site : zone membres, inscription, administration (/showthread.php?tid=54)

Pages : 1 2 3 4 5 6 7


RE: Bases d'un site [Zones membres / Inscription / Administration...] - Bosco - 17-08-2006

vous pouvez maider car je suis vraiment larguer


RE: Bases d'un site [Zones membres / Inscription / Administration...] - Globe - 17-08-2006

je vais voir ça quand j'aurais un moment...


RE: Bases d'un site [Zones membres / Inscription / Administration...] - Plume - 17-08-2006

L'erreur est simple.
Il faut que ta requète soit entre guillemets.

Code PHP :
<?php 
$sql
= "select mdp from membres where pseudo='".$pseudo."'";

Petite faute d'étourderie :roll:


RE: Bases d'un site [Zones membres / Inscription / Administration...] - Bosco - 17-08-2006

merci, je viens de decouvrir un autre bug (et mer**)

Code :
<?
session_start();

if(isset($_POST) && !empty($_POST['pseudo']) && !empty($_POST['mdp'])) {
extract($_POST);

$sql = "select mdp from membres where pseudo='".$pseudo."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req); }
{
if($data['mdp'] != $mdp) {
echo '<p>Mauvais identifiants, merci de r&eacute;essayer.</p>';
exit;
}

else {
session_start();
$_SESSION['pseudo'] = $pseudo;


echo 'Vous &ecirc;tes actuellement redirig&eacute; vers l\'accueil.';

header( "Location: index.php");
} }

else {
echo '<p>Vous avez oubli&eacute; de remplir un champ.</p>';
header( "Location: connexion.php");
} ?>

Parse error: parse error, unexpected T_ELSE in /www/sites/1/ifrance.com/w/e/webfootbeta/site/admin/login.php on line 27


RE: Bases d'un site [Zones membres / Inscription / Administration...] - Maxime - 17-08-2006

Si tu ne nous donne pas la ligne on ne pourra pas t'aider.

Bon je pense avoir trouvé, c'est cette ligne:

Code PHP :
<?php 
echo 'Vous &ecirc;tes actuellement redirig&eacute; vers l'accueil.';

Il faut mettre:
Code PHP :
<?php 
echo "Vous &ecirc;tes actuellement redirig&eacute; vers l'accueil.";

Mais oh les gars est-ce que vous réfléchissez avant de poster des questions là parce que depuis un moment on dirait que vous essayez même pas de régler ces problèmes, même quand ils sont ultra simple.


RE: Bases d'un site [Zones membres / Inscription / Administration...] - Bosco - 17-08-2006

la ligne 27 c else {
si sa t'avance

et dans le code que tu me donne tu oublie un truc

echo "Vous &ecirc;tes actuellement redirig&eacute; vers l\'accueil.";
l'antislashe avant l'apostrophe (qui par ailleur j'avais mis)



RE: Bases d'un site [Zones membres / Inscription / Administration...] - Globe - 17-08-2006

DämEn je connaissais l'erreur mais quand je fais un tuto je préfère qu'on me signale mes erreurs avec courtoisie plutot que de jouer son malin...

Sinon oui en écrivant un tuto aussi long j'ai forcément fait des erreurs, mais il faut lire le code pas seulment le copier...


RE: Bases d'un site [Zones membres / Inscription / Administration...] - Bosco - 17-08-2006

globe je ne fais pas que le copier, j'ai rajouté des chose, modifié d'autre.


RE: Bases d'un site [Zones membres / Inscription / Administration...] - Maxime - 18-08-2006

Ah oui exact j'ai oublié l'antislashes.
Petit problème sur le forum je n'ai pas pu éditer mon message, ça m'amenait sur une page pour effacer mon message.


RE: Bases d'un site [Zones membres / Inscription / Administration...] - Plume - 18-08-2006

Bon, désolé d'avoir froisser ta fierté Globe.

Une petite précision:
Code PHP :
<?php 
echo "Vous &ecirc;tes actuellement redirig&eacute; vers l'accueil.";
Dans cette syntaxe l'antislash pour échapper le simple quote ne sert pas.

_______________________________

Tant que j'y suis je peux bien lire le tuto en entier Smile

Alors première requète, je conseille de faire ainsi:
Code PHP :
<?php 
$sql
= 'select mdp from membres where pseudo=\'',$pseudo,'\'';

_______________________________

Pour ne pas avoir à vous farcir de taper à chaque requète:
Code PHP :
<?php 
$req
= mysql_query($sql) or die('Erreur SQL !<br>',$sql,'<br>',mysql_error());
Je conseille de 'redéfinir' la fonction mysql_query(). A vous de la construire selon vos besoins Wink

_______________________________

Je conseille aussi de penser à faire les traitements sur les données qui permettent d'éviter les injections.

_______________________________

Je déconseille également ce genre d'habitude, pour des raisons que vous connaissez Wink
Code PHP :
<?php 
("SELECT * FROM membres WHERE pseudo='$pseudo'")
Je parle de l'astérisque, nous ne le dirons jamais assez, mais il est mieux de définir les informations que vous souhaitez Smile
Pour la syntaxe j'en ai déjà parlé Wink

_______________________________

Code PHP :
<?

if(isset($_POST) && !empty($_POST['pseudo']) && !empty($_POST['mdp'])) {
extract($_POST);
$pseudo = $_POST['pseudo'];
$mdp= $_POST['mdp'];
$sql = "SELECT * FROM membres WHERE pseudo='",$pseudo,"'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());


$data = mysql_fetch_assoc($req);

if(
$data['mdp'] != $mdp) {
echo
'<p>Vous vous êtes trompé dans vos identifiants !</p>';
exit;
} else {

$_SESSION['pseudo'] = $pseudo;
$requete = mysql_query("SELECT * FROM membres WHERE pseudo='$pseudo'");
$table=mysql_fetch_assoc($requete);
if (
$table['pseudo'] =$membre) { include('pannel.php'); } }
}
else {
echo
'<p>Vous n\'avez pas les droits necessaires.</p>';
exit;
}
?>

Je ne vois pas où est défini $membre ...

_______________________________

Code PHP :
<?php 
mysql_query
('DELETE FROM membre WHERE id=' , $_GET['supprimer_membre']);
Je conseille ici même si la requète fonctionne de bien traiter l'info comme une chaine de caractère.
=>
Code PHP :
<?php 
'DELETE FROM membre WHERE id=' , $_GET['supprimer_membre'],'\''

_______________________________

Dans inscription.php:
Code PHP :
<?php 
$pseudo2
= $_POST['pseudo'];
$mdp2 = $_POST['mdp'];
$mdp3 = $_POST['mdp2'];
$email2 = $_POST['email'];
Ici je conseille fortement de traiter les données.
_______________________________

Pour finir pour faciliter l'utilisation de la fonction header() afin de l'utiliser à votre convenance, je vous conseille de vous intéresser aux fonctions qui travaille avec le buffer. Consulter la doc http://php.net/, et intéressez vous aux fonctions ob_*


Voili voiloou. J'espère que ça t'aidera Globe. Pour d'autres conseils hésites pas. Et si des erreurs se sont glissées dans mon commentaires, je vous prie par avance de m'en excuser Smile

[EDIT]J'ai oublié un détail, l'organisation du tutoriel. Je pense qu'il aurait été plus convenu de commencer par l'inscription puis de passer à la connexion pour enfin finir par l'espace membre & le pannel admin.