Créer une page en passant par un formulaire

Petit Raptor Messages postés 187 Date d'inscription   Statut Membre Dernière intervention   -  
avion-f16 Messages postés 19255 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à toutes et à tous,

Voilà, vu que je pense que le titre n'est pas très clair, je vais expliquer un peu plus en détails mon projet.

Je suis en ce moment même, en train de faire une page personnel qui est celle-ci: http://www.Petit-Raptor.fr/Monstres.php

Pseudo: guest
Mot de passe: test

Je voudrais ajouter une page avec un formulaire dessus, où il y aurais cela:

Civilité:
Nom:
Prénom:
Âge:
Mail:
Titre du Site:
Pseudo:

Et que lorsque je remplis le formulaire, et que j'envoie, ça m'envoie un mail avec un lien (en php) pour valider ou pas "l'inscription"

Si je ne valide pas, ça envoie un mail disant que ça n'as pas été accepter etc...
Si je valide, ça créer un sous-domaine du style si le mec choisis comme pseudo: bitalou, le sous-domaine sera celui-ci: http://www.bitalou.petit-raptor.fr

Et que sur ce sous-domaine, une page index.php se créer avec le même système que sur la page donner plus haut avec le pseudo et le mot de passe donné au moment du formulaire pour se connecter.
Et envoie un mail disant que la demande à été accepter et donnant l'adresse de sa page.

En gros je voudrais faire tout un système.

Les difficulté que je rencontre sont celles-ci:

- Je ne sais pas si mon serveur (ou mon domaine) accepte les sous-domaine et combien je peut en faire, et comment voir si je peut en avoir.

- Je ne sais pas comment faire pour créer un sous-domaine automatiquement après le clic de validation.

- Je ne sais pas comment "créer" une page .php en modifiant le contenu des variables php de pseudo et mot de passe pour chaque "membres" lors du clic de validation.

J'attend votre réponse avec impatience =)
A voir également:

107 réponses

Petit Raptor Messages postés 187 Date d'inscription   Statut Membre Dernière intervention   1
 
Bon, j'ai compris comment fonctionne les sessions et les cookies mais je n'arrive pas a comprendre de quelle manière je dois procéder pour faire ce système de "rester connecter".

Je sais que "session_start();" dois se mettre en tout début de page et que pour ajouter le login et le mot de passe a la session il faut que je mette sa en dessous "$_SESSION['login'] = $Login_BDD; $_SESSION['password'] = Password_BDD;" mais je n'arrive pas a comprendre ce que je dois coder et récupéré dans la BDD pour que ce sois les identifiants de connexion du membre qui essaye de se connecter :s
0
avion-f16 Messages postés 19255 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Crées un autre topic
0
Petit Raptor Messages postés 187 Date d'inscription   Statut Membre Dernière intervention   1
 
Non c'est bon, j'ai ma page de connexion active, qui bug un tout petit peu pour le moment mais je pense que c'est une simple erreur de codage, je suis en train de vérifier sur le forum du SDZ
0
avion-f16 Messages postés 19255 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Perso je stocke uniquement l'id du membre dans $_SESSION['id'].
Et je une fonction recupererInfo($champ,$id) qui retourne ce qui est précisé dans $champ
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Petit Raptor Messages postés 187 Date d'inscription   Statut Membre Dernière intervention   1
 
Bah voilà mon code de la page de connexion, le bug c'est que je rentre les bo identifiants de connexion et que ça me marque: "Vous n'avez pas rentré les bon identifiants. Cliquez ici pour revenir à la page précédente"

<?php
session_start();

// Message

if (empty($_POST['Login']) || empty($_POST['Password']) ) //Oublie d'un champ
{
	echo "Vous devez remplir tout les champs";
}
else
{
	//Acces interdit : le membre est déjà connecté
	if(isset($_SESSION['Login']))
	{
		echo "Vous êtes déjà connecter";
	}
	else // Autorisation ok : il reste à voir le mot de passe
	{
		require_once('info.php');
		mysql_connect($ip_BDD, $login_BDD, $password_BDD) or die('Erreur lors de l\'identification a la BDD');
		mysql_select_db($database) or die('Erreur lors de la séléction del a BDD');

		//On protège les données
		$Login_entre = mysql_real_escape_string($_POST['Login']);
		$Password_entre = $_POST['Password'];

		$recherche = mysql_query('SELECT id, login, mdp, nom, prenom, email FROM membres WHERE login = "'.$Login_entre.'"') 
		or die (mysql_error());
		$resultat_recherche_pseudo = mysql_fetch_assoc($recherche);

		if($resultat_recherche_pseudo['mdp'] == md5($Password_entre)) // Acces OK !
		{
			$_SESSION['id'] = $resultat_recherche_pseudo['id'];
			$_SESSION['Login'] = $Login_entre;
			$_SESSION['nom'] = $resultat_recherche_pseudo['nom'];
			$_SESSION['prenom'] = $resultat_recherche_pseudo['prenom'];
			$_SESSION['email'] = $resultat_recherche_pseudo['email'];

			echo "Bienvenue ".stripslashes(htmlspecialchars($_SESSION['pseudo'])).", 
			vous êtes maintenant connecté!</p>
			<p>Cliquez <a href='./index.php'>ici</a> 
			pour revenir à la page d accueil</p>";
		}
		else // Acces pas OK !
		{
			echo "Vous n'avez pas rentré les bon identifiants.
			Cliquez <a href='./index.php'>ici</a> 
			pour revenir à la page précédente";
		}
	}
}
mysql_close();
?>
0
Petit Raptor Messages postés 187 Date d'inscription   Statut Membre Dernière intervention   1
 
Z'avez pas une idée de l'erreur que j'ai pu faire ? :s
0
Petit Raptor Messages postés 187 Date d'inscription   Statut Membre Dernière intervention   1
 
Bon coté connexion c'est finis.

J'ai juste un petit problème de Base de donnée :s

J'ai mis un champs 'level_dofus' que j'ai mis en tinyint, seulement voilà, quand je marque "174" lors de l'inscription, ça enregistre "127" sur la Base de donnée :s

Est-ce que vous savez de quoi ça pourrait venir ?
0
avion-f16 Messages postés 19255 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Le TINYINT "normal" (sans attribut) permet d'entrer des nombres de -128 à 127.
Si tu mets "unsigned" comme attribut, d'abord ça sera de 0 à 255.
0
Petit Raptor Messages postés 187 Date d'inscription   Statut Membre Dernière intervention   1
 
Merci beaucoup ça marche du tonnerre =)

Bon bah maintenant y a plus qu'a bosser et encore bosser sur la page d'administration du site, la où je pourrais supprimé des membres, envoyer des mails, gérer le site, les news etc...

Et je dois encore bosser et encore bosser sur la partie Messagerie Privée, Forum, Liste des membres, Modifications des informations personnelles pour le rang membre, et surtout le système de recherche de membre et de news.

J'ai juste un petit bug que je n'arrive pas à expliquer pour l'instant :s

Lorsque je suis sur ma page index.php etque je ne suis pas connecter, tout est normal.

Lorsque je me connecte, j'arrive donc sur ma page connexion.php et je clique sur le lien dedans pour revenir a index.php.

Seulement voilà, lorsque je suis sur index.php et que je suis connecter, j'ai un décalage en haut de ma page.

Un décalage de .... 15px je dirais.

Tout le site est décaler de 15px vers le bas, donc j'ai un espace tout noir tout en haut.

Je n'sais pas si ça pourrait venir de là, mais ma page index est faites pour les connexion des différents Rang.

Voillà ma page index.php:

<?php
session_start();

if (isset($_SESSION['Login']))
{
	if($_SESSION['rang'] == "Administrateur")
	{
		include('header.php');
		include('index_admin.php');
	}
	elseif($_SESSION['rang'] == "Modérateur")
	{
		include('header.php');
		include('index_modo.php');
	}
	elseif($_SESSION['rang'] == "Correcteur")
	{
		include('header.php');
		include('index_correc.php');
	}
	elseif($_SESSION['rang'] == "Membre")
	{
		include('header.php');
		include('index_membre.php');
	}
}
else
{
	include('header.php');
	include('index_visit.php');
}
?>


La page header.php est donc toujours la même pour tout les rang (pour le moment hein =P)

Mais la page index_.....php, c'est à dire le contenu de la page, n'est pas la même pour chaque rang et pour les non-connecter.

Mais dans chaque page index, index_membre, index_admin, index_modo etc....

Tout est pareil dedans, j'ai seulement changer le contenu du menu pour l'instant.

Pouvez-vous m'aider ?

Si vous voulez essayer par vous-même, http://www.Petit-Raptor/Journal
0
avion-f16 Messages postés 19255 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
En regardant dans le code source avec ton navigateur, tu devrais vite voir le problème.
0
Petit Raptor Messages postés 187 Date d'inscription   Statut Membre Dernière intervention   1
 
Bah justement, y a rien d'anormal :s
0
le père
 
Bonjour

Si, il y a quelque chose d'anormal. Il y a le BOM (Byte Order Mark).
Quand tu écris en UTF8 avec certains éditeurs de texte (dont notepad++) il insère en début une séquence de 3 caractères "invisibles" : le BOM. Ces trois caractères se retrouvent dans ta page, et pourraient d'ailleurs te causer bien d'autres soucis. Il faut enregistrer tes fichiers SANS BOM
0
le père
 
D'ailleurs, en regardant de plus près, il y a plus que le BOM : il y a aussi une tabulation et une fin de ligne AVANT le doctype. Ça ne m'étonnerait pas qu'elle aussi fasse partie de ton problème

Voici ce que donne le début de ta page en hexa :
EF BB BF 09 0A 3C 21 ...
EF BB BF c'est le BOM : à virer
09 0A : tabulation , saut de ligne : à virer
3C 21 : <! début du doctype
0
Petit Raptor Messages postés 187 Date d'inscription   Statut Membre Dernière intervention   1
 
Il n'y a pas de tabulation et de saut de ligne avant mon doctype mais en effet il était en UTF-8, merci beaucoup ça fonctionne extra =)
0
le père
 
Si, il y en avait. Le 09 et le 0A que je t'ai montrés dans mon message précédents, je ne les ai pas inventés. D'ailleurs, ils y sont toujours, au moins dans ta page Journal, je viens de le vérifier à l'instant
0
le père
 
D'ailleurs, comme tu as
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
dans tes en-têtes, c'est normal que tu édites tes fichiers en UTF-8. Mais il faut le faire SANS. BOM. Si tu crées tes fichiers en ANSI ou iso-8859, tu vas t'obliger à remplacer tous les caractères spéciaux par des entités HTML.
0
Petit Raptor Messages postés 187 Date d'inscription   Statut Membre Dernière intervention   1
 
Non avant d'avoir ce problème j'avais configurer NotePad++ pour encoder en UTF-8 mais maintenant je l'ai re-regler pour convertir directement les nouveaux fichier n UTF-8 SANS BOM.

Et encore une fois, je n'sais pas où tu vois tes sauts de lignes là mais moi que ce soit sur le rendu de ma page sur mon serveur ou sur mon code il n'y a pas de saut de ligne.
0
le père
 
je n'sais pas où tu vois tes sauts de lignes
Dans ta page, pardi ! Je n'ai pas accès à tes sources ^^
Je l'enregistre, puis je regarde son contenu avec un éditeur hexadécimal.
Tu as certainement une ligne vide qui traîne avant le <?php ou après le ?> dans un de tes include
0
avion-f16 Messages postés 19255 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Si tu regardes dans le code source tu verras une tabulation (enfin, tu ne la vois pas vraiment) et un retour à la ligne (donc il y a une ligne vide qui contient le BOM (invisible) et la tabulation (visible en surlignant cette partie)).
0
Petit Raptor Messages postés 187 Date d'inscription   Statut Membre Dernière intervention   1
 
Non mais que je regarde mon code source sous NotePad++ ou avec CTRL+U sous firefox, je n'ai aucun saut de ligne ou tabulation ....
0