Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 16/08/2014, à 10:28

duocore

probléme pour acceder à l'espace membres PHP/MySQL

Bonjour,

j'ai crée un site avec espace membres grace a PHP/MySQL.

creation de la table:

CREATE TABLE `membres` ( `clef` int(11) NOT NULL auto_increment, `login` VARCHAR
(25) NOT NULL , `password` VARCHAR(20) NOT NULL , `nom` VARCHAR( 30 ) NOT NULL , `prenom` VARCHA
R( 30 ) NOT NULL , `grade` VARCHAR(35) NOT NULL, `mail` VARCHAR( 255 ) NOT NULL,`inscription` DATE
NOT NULL,`misajour` TIMESTAMP NOT NULL, PRIMARY KEY (`clef`), INDEX (`clef`)); 

il y a aussi un table grade qui correspondra à une catégorie:
-Administration (access a tout le site et modification espace membres, envoi mail à tous les membres)
-Famille (Access à tout le site, modification de son propre profil , envoi mail à famille)
-Ami (Access à une partie du site, modifier son profil)
-Invité( peu etre....)


Voici les differents fichiers:
index.php:

<?
session_start();
include '/commun/variable.inc.php';
include '/commun/fonctions.inc.php';
include '/commun/stats.inc.php';
include '/commun/connexion.inc.php';
include '/commun/authentification.inc.php';
$sql="select * from emails_perimes where mail='$mail'";
$resultat=@mysql_query($sql,$id_link);
$nbre_rangs=@mysql_num_rows($resultat);
if ($nbre_rangs==1){
$fenetre=1;
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
	<title>Mon tableau de bord</title>
	<script LANGUAGE="JavaScript">
<!--
function confirmDem()
{
var accord=confirm("Vous voulez vraiment supprimer votre profil?");
if (accord)
	return true ;
else
	return false ;
}
<?
if ($fenetre){
echo 'function ouvrir_vasistas(adresse, nom_fenêtre,caracteristiques) {
	window.open(adresse, nom_fenêtre,caracteristiques);
	}';
}
?>

function ouvrir_lucarne(adresse, nom_fenêtre,caracteristiques) {
window.open(adresse, nom_fenêtre,caracteristiques);
}
// -->
</script>

</head>



<?
if ($fenetre){
echo "<body onLoad=\"ouvrir_vasistas('votre_email.php','vasistas','menubar=no,scrollbars=no,statusbar=no, width=300,height=200')\">\n";
}
else {
echo "<body>";
}
?>

<font size="3">Votre profil</font>
<ul>
	<li><a href="inscription_p1.php?action=modifier">modifier mon profil</a>
	<li><a href="demission.php" onCLick="return confirmDem()">supprimer votre compte</a>
 <li><a href="#" onClick="ouvrir_lucarne('fabrique_biscuits.php?biscuit=oui','biscuit','menubar=no,scrollbars=no,statusbar=no, width=300,height=200')">Pour insérer un cookie</A>.
</ul>

</body>
</html>

inscription_p1.php:

<?
session_start();
include '/commun/variables.inc.php';
include '/commun/fonctions.inc.php';
include '/commun/stats.inc.php';
include '/commun/connexion.inc.php';

if ($action=='modifier'){
$sql="select * from membres where clef='$clef'";
$resultat=mysql_db_query($dbname ,$sql, $id_link);
$rang=mysql_fetch_array($resultat);
$clef=$rang['clef'];
$login=$rang['login'];
$password=$rang['password'];
$nom=$rang['nom'];
$prenom=$rang['prenom'];
$grade=$rang['grade'];
$mail=$rang['mail'];
}

?>
<html>
<head>
  <title>Inscription</title>
  <SCRIPT LANGUAGE="JavaScript">
<!--
var unique=0;
function ouvrir_vasistas(adresse, nom_fenêtre,caracteristiques) { 
  window.open(adresse, nom_fenêtre,caracteristiques);
}
function verif_formulaire(){
if (verif_champs()==true && verif_email()==true && envoi()==true){
return true;
}
return false;
}
function verif_champs(){
if (document.forms[0].prenom.value.length<1){
	alert("Veuillez ajouter votre prénom, Merci");
	document.forms[0].prenom.focus();
	return false;
}
if (document.forms[0].nom.value.length<1){
	alert("Veuillez ajouter votre nom, Merci");
	document.forms[0].nom.focus();
	return false;
}
if (document.forms[0].mail.value.length<5){
	alert("Veuillez ajouter votre email, Merci");
	document.forms[0].mail.focus();
	return false;
}
<?
if ($action=='modifier'){
echo '
if (document.forms[0].password.value.length<8){
	alert("Veuillez ajouter votre mot de passe de plus de 8 caractères, Merci");
	document.forms[0].password.focus();
	return false;
}
if (document.forms[0].passwordbis.value.length<8){
	alert("Veuillez taper à nouveau votre mot de passe dans le 2e champ, Merci");
	document.forms[0].passwordbis.focus();
	return false;
}
if (document.forms[0].password.value!= document.forms[0].passwordbis.value){
	alert("Vos mots de passe ne coïncident pas, veuillez les taper à nouveau, Merci");
	document.forms[0].password.focus();
	return false;
}

if (document.forms[0].password.value==document.forms[0].login.value){
	alert("Votre login ne peut être identique à votre mot de passe, veuillez le taper à nouveau, Merci");
	document.forms[0].login.focus();
	return false;
}
';
}
?>
return true;

}

function verif_email (){
var c=document.forms[0].mail.value;
var test="" + c;
for(var k = 0; k < test.length;k++)
{
	var d = test.substring(k,k+1);
	if(d == "@")
	{
		return true;
	}
}
alert("Votre E-mail n'est pas valide, Merci");
document.forms[0].mail.focus();
return false;
}

function envoi(){
if (unique == 0){
unique++;
return true;
}
else {
alert("Envoi en cours...!");
return false;
}
}

-->
</SCRIPT>
</head>
<body>
<?
if (!$action){
echo "Pour vous inscrire sur le site, nous avons besoin de quelques renseignements.<br>Préparez un login pour le site et un mot de passe de plus de 8 caractères dont vous vous souviendrez facilement.\n";
}
if ($auth==1){
echo "<p><font color=\"#FF0000\">Vous êtes déjà membre et vous avez peut-être <a href=\"#\" onClick=\"ouvrir_vasistas('oubli.php','vasistas','menubar=no,scrollbars=no,statusbar=no, width=300,height=200')\">oublié votre mot de passe</A>.</font></p>";
}
elseif ($auth==3){
echo "<p><font color=\"#FF0000\">Pour entrer dans ces pages, il vous faut vous inscrire sur le site, Merci. Au cas où vous auriez <a href=\"#\" onClick=\"ouvrir_vasistas('oubli.php','vasistas','menubar=no,scrollbars=no,statusbar=no, width=300,height=200')\">oublié votre mot de passe</A>...</font></p>";
}
$hier=date ("Ymd", mktime (0,0,0,date("m"),date("d")-1,date("Y")));
$sql="DELETE FROM membres WHERE login='' AND misajour<$hier";
@mysql_query($sql,$id_link);

?>
<form action="inscription_p2.php" method="post" onSubmit="return verif_formulaire()">
<table cellspacing="2" cellpadding="2" border="0">
<tr>
 <td>Votre prénom :</td>
 <td>
 <?
 echo "<input type=\"text\" name=\"prenom\" size=\"30\" value=\"$prenom\">";
 ?>
 </td>
</tr>
<tr>
 <td>Votre nom :</td>
 <td>
  <?
 echo "<input type=\"text\" name=\"nom\" size=\"30\" value=\"$nom\">";
 ?>
 </td>
</tr>
<tr>
 <td>Votre email :</td>
 <td>
 <?
 echo "<input type=\"text\" name=\"email\" size=\"12\" value=\"$email\">";
 ?>
 </td>
</tr>
<?
if ($action=='modifier'){
echo "<tr>";
echo "<td>Votre nouveau mot de passe</td>";
echo "<td><input type=\"password\" name=\"password\" value=\"$password\"></td>";
echo "</tr>";
echo "<tr>";
echo "<td>Retapez votre mot de passe</td>";
echo "<td><input type=\"password\" name=\"passwordbis\" value=\"$password\"></td>";
echo "</tr>";
}
?>
<tr>
 <td></td>
 <td><input type="submit" name="soumission" value="Je m'inscris"></td>
</tr>
</table>
</form>
</body>
</html>

inscription_p2.php:

<?
session_start();
include '/commun/variables.inc.php';
include '/commun/fonctions.inc.php';
include '/commun/stats.inc.php';
include '/commun/connexion.inc.php';
$sql="select clef from membres where mail='$mail'";
$resultat=@mysql_query($sql,$id_link);
$nombre=mysql_num_rows ($resultat);
if ($nombre >0){
$auth=1;
include "inscription_p1.php";
exit;
}

$sql="INSERT INTO membres (prenom, nom, mail) VALUES ('$prenom', '$nom', '$mail')";
mysql_query($sql,$id_link);
?>
<html>
<head>
<font color="#FF0000">  <title>Inscription</title></font>
  <SCRIPT LANGUAGE="JavaScript">
<!--
var unique=0;
function verif_formulaire(){
if (verif_champs()==true && envoi()==true){
return true;
}
return false;
}
function verif_champs(){
if (document.forms[0].login.value.length<1){
	alert("Veuillez ajouter votre login, Merci");
	document.forms[0].login.focus();
	return false;
}
if (document.forms[0].password.value.length<8){
	alert("Veuillez ajouter votre mot de passe de plus de 8 caractères, Merci");
	document.forms[0].password.focus();
	return false;
}
if (document.forms[0].passwordbis.value.length<8){
	alert("Veuillez taper à nouveau votre mot de passe dans le 2e champ, Merci");
	document.forms[0].passwordbis.focus();
	return false;
}
if (document.forms[0].password.value!= document.forms[0].passwordbis.value){
	alert("Vos mots de passe ne coïncident pas, veuillez les taper à nouveau, Merci");
	document.forms[0].password.focus();
	return false;
}

if (document.forms[0].password.value==document.forms[0].login.value){
	alert("Votre login ne peut être identique à votre mot de passe, veuillez le taper à nouveau, Merci");
	document.forms[0].login.focus();
	return false;
}
return true;
}
function envoi(){
if (unique == 0){
unique++;
return true;
}
else {
alert("Envoi en cours...!");
return false;
}
}

-->
</SCRIPT>
</head>
<body>
Veuillez maintenant choisir le login que vous porterez sur le site et le mot de passe pour y accéder. Vous pourrez ainsi rencontrer d'autres membres et modifier votre profil, voire le supprimer éventuellement.
<?
if ($auth==2){
echo "<p><font color=\"#FF0000\">Votre login existe déjà dans la base de données. Soit vous êtes déjà membre et vous avez <a href=\"oubli.php\">oublié votre mot de passe</a>. Soit il s'agit d'une simple coïncidence, dans lequel cas, entrez <a href=\"#\" onClick=\"ouvrir_vasistas('oubli.php','vasistas','menubar=no,scrollbars=no,statusbar=no, width=300,height=200')\">oublié votre mot de passe</A>...</font></p>";
}
echo "<br>$annonce <br>";
?>
<form action="traitement_id.php" method="post" onSubmit="return verif_formulaire()">
<table cellspacing="2" cellpadding="2" border="0">
<tr>
 <td>Votre login</td>
 <td><input type="text" name="login"></td>
</tr>
<tr>
 <td>Votre mot de passe</td>
 <td><input type="password" name="password"></td>
</tr>
<tr>
 <td>Retapez votre mot de passe</td>
 <td><input type="password" name="passwordbis"></td>
</tr>
<tr>
 <td>&nbsp;</td>
 <td>
 <?
 echo "<input type=\"hidden\" name=\"mail\" value=\"$mail\" size=\"50\">";
 ?>
 </td>
</tr>

<tr>
 <td>&nbsp;</td>
 <td><input type="submit" name="soumettre" value="Je valide"></td>
</tr>
</table>
</form>
</body>
</html>

traitement_id.php:

<?
session_start();
$mail=$_POST['mail'];
$password=$_POST['password'];
$login=$_POST['login'];
include '/commun/variables.inc.php';
include '/commun/fonctions.inc.php';
include '/commun/stats.inc.php';
include '/commun/connexion.inc.php';
$sql="SELECT prenom, password FROM membres WHERE login='$login'";
$resultat=@mysql_query($sql,$id_link);
$nombre=@mysql_num_rows ($resultat);
if ($nombre >0){
$auth=2;
include "inscription_p2.php";
exit;
}
else {
$rang=mysql_fetch_array($resultat);
$prenom=$rang['prenom'];
$password=$rang['password'];
$contenu="Bienvenue $prenom,\nVous faites désormais partie des membres du site. Votre login sur le site est $login et votre mot de passe $password. Conservez-le afin d'avoir accès au site.\nCordialement\nle Webmestre\n";
Format texte
$entete="From: \"site perso\" <aaa@aaa>\n";
mail ("$mail","BIENVENUE sur le site perso","$contenu",$entete);

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
	<title>Fin de l'inscription</title>
</head>

<body>
<?
/*/////////////////////////DATE SOUS LA FORME AAAAMMJJ/////////////////////////////////*/
$moment=date ("Ymd", mktime (0,0,0,date("m"),date("d"),date("Y")));
$mail= strtolower($mail);
$sql="UPDATE membres SET login='$login', password='$password', inscription='$moment' WHERE mail='$mail'";
@mysql_query($sql,$id_link);
echo "Merci de votre inscription et bienvenue sur le site. Nous venons de vous envoyer un courriel de confirmation avec votre login et votre mot de passe.<p>\n<CENTER><i>Le webmestre</i></CENTER>";
$hier=date ("Ymd", mktime (0,0,0,date("m"),date("d")-1,date("Y")));
$sql="DELETE FROM membres WHERE login='' AND misajour<$hier";
@mysql_query($sql,$id_link);
?>
</body>
</html>

oubli.php

<?
session_start();
if ($_POST['passage']){
$passage=$_POST['passage'];
}
if ($_POST['mail']){
$mail=$_POST['mail'];
}
include '/commun/variables.inc.php';
include	'/commun/fonctions.inc.php';
include '/commun/stats.inc.php';
include '/commun/authentification.inc.php';
if ($passage==3){
$passage="";
if (!$_SESSION['tentative']){
$tentative=1;
}
else{
$tentative=$_SESSION['tentative'];
$tentative++;
}
session_register("tentative");
}
elseif ($passage==1){
$sql="select mail from membres where login='$login'";
$resultat=@mysql_query($sql,$id_link);
$rang=mysql_fetch_array($resultat);
$mail=$rang['mail'];
}

?>
<html>
<head>
<title>Oubli</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<?
echo "<form name=\"form1\" method=\"post\" action=\"$PHP_SELF\">";
if (!$passage){
echo ' Votre surnom : <input type="text" name="login">';
echo '<input type="hidden" name="passage" value="1">';
echo '<BR><input type="submit" name="Submit" value="Soumettre">';
}
elseif ($passage==1){

echo "<BR>\n";
echo ' Votre email : <input type="text" name="mail">';
echo '<input type="hidden" name="passage" value="2">';
echo '<BR><input type="submit" name="Submit" value="Soumettre">';
}
if ($passage==2){
echo "Nous venons de vous envoyer un email avec votre mot de passe";
echo "<BR>\n";
echo "<input type=\"submit\" name=\"Submit\" value=\"D'accord!\" onCLick=\"window.close()\">";
$message="Bonjour";
elseif ($tentative==3){
echo "Vous avez fait 3 tentatives, nous vous suggérons de contacter plutôt le <a href=\"mailto:ludovic.bridoux787@orange.fr?Subject=J'ai oublié mon mot de passe\">webmestre</a>";
}
else {
echo "Votre email est incorrecte!</a>";
echo '<input type="hidden" name="passage" value="3">';
echo "<BR>\n";
echo "<input type=\"submit\" name=\"Submit\" value=\"Tenter une nouvelle fois ?\">";
}
}

?>

</form>
</body>
</html>

fabrique_buiscuits.php

<?
$biscuit=$_GET['biscuit'];
if ($biscuit='oui'){
  SetCookie('alias',$alias,time()+ (60*60*24*365*20));
////Il va en prendre pour 20 ans!
  SetCookie('sauf_conduit',$sauf_conduit, time()+(60*60*24*365*20));
}
  session_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
	<title>La Fabrique de biscuits</title>
</head>

<body>
<?
if (!$biscuit){
echo "Vous n'aimez pas entrer votre login et mot de passe à chaque accès au site, pourquoi ne pas utiliser un cookie ? Un cookie est un petit fichier qui garde les paramètres de votre identité sur votre disque dur. 
Comment faire ? <LI> <b>Internet Explorer</b> : allez dans le menu outils et cliquez sur option internet. Ensuite vous cliquez sur l'onglet \"sécurité\". Dans la fenêtre, activez l'image du globe (internet) et cliquez sur \"personnaliser le niveau\". Ensuite vous cochez les cases dans la catégorie \"cookies\" puis sur \"autoriser les cookies par session (non stockés)\" et \"autoriser les cookies stockés sur votre ordinateur\".<LI> <b>Netscape</b> : dans le menu \"édition\", vous cliquez sur \"préférences\". Ensuite vous sélectionnez \"avancées\" et vous cochez \"Accepter tous les cookies\".<p>";
echo " <a href=\"$PHP_SELF?biscuit=oui\">Pour enregister le cookie</A>.";
}
else {
echo "Le cookie est créé, désormais vous n'aurez plus besoin de vous identifier sur le site. Cependant, si vous voulez nettoyer de temps en temps votre boîte à biscuits, il vous suffira de revenir sur cette page. N'oubliez pas de <A HREF=\"#\" onClick=\"window.close()\">fermer la porte</A> en partant.";
}
?>
</body>
</html>

demission.php

<?
session_start();
include '/commun/variables.inc.php';
include '/commun/fonctions.inc.php';
include '/commun/stats.inc.php';
include '/commun/connexion.inc.php';
include '/commun/authentification.inc.php';
$sql="delete from membres where login='$login'";
$resultat=@mysql_query($sql,$id_link);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
	<title>Supprimer le profil</title>
</head>

<body>

Votre profil a été supprimé.<br />
<br />
Le webmaster
</body>
</html>

votre_email.php

<?
session_start();
if ($_POST['nouvel_email']){
$nouvel_email=$_POST['nouvel_email'];
}
include '/commun/variables.inc.php';
include '/commun/fonctions.inc.php';
include '/commun/stats.inc.php';
include '/commun/connexion.inc.php';
include '/commun/authentification.inc.php';
if ($nouvel_email){
$sql="update membres set mail='$nouvel_email' where clef='$clef'";
mysql_query($sql,$id_link);
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
	<title>Votre nouvel email</title>
</head>
<body>
<?
if (!$nouvel_email){
echo "Bonjour, l'adresse email, $mail, que vous nous avez fourni n'est plus valide. Voulez-vous entrer votre nouvel email ?";
echo "<form action=\"$PHP_SELF\" method=\"post\">";
echo 'Votre email&nbsp;:&nbsp;<input type="text" name="nouvel_email">';
echo '<input type="submit" value="Envoyez">';
echo '</form>';
}
else {
echo "Merci de votre contribution votre email a été changé en $nouvel_email";
}
?>
</body>
</html>

puis ces fichiers sont dans le dossier /communs/:

variable.inc.php:

<?
///METTEZ LES VARIABLES PREDEFINIES ET LES CONSTANTES///
////VOUS L'INCLUEZ AVANT LES FONCTIONS////////////////////
$fois=1;
define ('RACINEWWW', 'https://192.168.1.4');
define ('RACINE', '$DOCUMENT_ROOT');
?>

connexion.inc.php

<?
$dbname   = 'identity';
$hostname = 'localhost';
$username = 'root';
$password = 'password';

if (!$id_link = mysql_connect($hostname, $username, $password)) {
    echo 'Connexion impossible à mysql';
    exit;
}

if (!mysql_select_db($dbname, $id_link )) {
    echo 'Sélection de base de données impossible';
    exit;
} 
?>

stats.inc.php

<?
$table='compteurs';
//////remplacez le chemin////////////
$chemin=ereg_replace('le chemin jusqu'au répertoire wwww','',$SCRIPT_FILENAME);
$repertoire=dirname($chemin);
$page=basename($chemin);
$sql= "select * from $table where page='$page' AND repertoire='$repertoire' ORDER BY clef DESC LIMIT 1";
//vérifions la dernière date entrée dans la table pour cette page
$resultat=@mysql_query($sql,$id_link);
$rang=@mysql_fetch_array($resultat); 
$jour=$rang['jour']; 
$mois=$rang['mois'];
$an=$rang['an'];
if ($jour!=date("d")){
//si la date est différente, la nouvelle ligne est créée
$an=date("y");
$mois=date("m");
$jour=date("d");
$sql= "insert into $table (fois, an, mois, jour, repertoire, page) VALUES('1', '$an', '$mois', '$jour', '$repertoire','$page')";
}
else {
//sinon elle est juste mise à jour
$sql= "update $table set fois=fois+1 where jour='$jour' AND mois='$mois' AND an='$an' AND page='$page' AND repertoire='$repertoire'";
}
@mysql_query($sql,$id_link);
?>

authentification.inc.php

<?
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="site perso"');
header('HTTP/1.0 401 Unauthorized');
$auth=3;
include "inscription_p1.php";
exit;
}
elseif (isset($_SERVER['PHP_AUTH_USER'])) {
$sql = "SELECT * FROM membres WHERE login='$PHP_AUTH_USER' and password='$PHP_AUTH_PW'";
$resultat=mysql_query($sql,$id_link);
$nombre = @mysql_num_rows($resultat);
if (!$nombre || $nombre<1) {
header('WWW-Authenticate: Basic realm="site perso"');
header('HTTP/1.0 401 Unauthorized');
$auth=3;
include "https://192.168.1.4/inscription_p1.php";
exit;
}
}
if(isset($alias)){
  $sql = "SELECT * FROM membres WHERE login='$alias' and password='$sauf_conduit'";
 $resultat=mysql_query($sql,$id_link);
$nombre = @mysql_num_rows($resultat);
if ($nombre==1) {
  $PHP_AUTH_USER=$alias;
   $PHP_AUTH_PW=$sauf_conduit;
  }
else {
SetCookie(sauf_conduit,$sauf_conduit,time()-30);
SetCookie(alias,$alias,time()-30);
header('WWW-Authenticate: Basic realm="site perso"');
header('HTTP/1.0 401 Unauthorized');
$auth=3;
include "inscription_p1.php";
exit;
}
}
$rang=mysql_fetch_array($resultat);
$nom_usage=$PHP_AUTH_USER;
session_register("login ");
if (!$clef){
$clef=$rang['clef'];
session_register("clef");
}
if (!$mail){
$mail=$rang['mail'];
session_register("mail");
}

?>

fonctions.inc.php

<?

//////////////NOMBRE VERS DATE////////////////////////////////////////////////
function nombre_date($cettedate){
$ladate=$cettedate;
$longueur=strlen($ladate);
$an=substr($ladate,0,4);
$mois=(int)substr($ladate,4,2);
$jour=(int)substr($ladate,6,2);
$ladate=$jour.'/'.$mois.'/'.$an;
if ($longueur>8){
$heure= (int)substr($ladate,8,2);
$minutes= substr($ladate,10,2);
$ladate.=" ${heure}h ${minutes}mn";
if ($longueur>12){
$secondes= substr($ladate,12,2);
$ladate.=" $secondes";
}
}
return $ladate;
}

//////////DATE VERS NOMBRE/////////////////////////////////////////////////
function date_nombre($cettedate){
$ladate=$cettedate;
$ladate=explode('/',$ladate);
$jour=$ladate[0];
$mois=$ladate[1];
$an=$ladate[2];
$longueur=strlen($an);
if ($longueur==2){
if ($an<date("y")){ 
$an='19'.$an;
}
else {
$an='20'.$an;
}
}
$longueur=strlen($mois);
if ($longueur==1){
$mois='0'.$mois;
}
$ladate=$an.$mois.$jour;
return $ladate;
}


/////////////////METTRE EN MAJUSCULES/////////////////////////////////////////////////
function majuscules($majuscule){
$majuscule=trim($majuscule);
$majuscule=strtolower($majuscule);
$majuscule=str_replace("d'", "d' ",$majuscule);
$passage=1;
$motif[]=" ";
$motif[]="-";
$nombre=count($motif);
 for ($i=0;$i<$nombre;$i++){
  $particule=$motif[$i];
   if (ereg($particule,$majuscule)) {
    if ($passage==2){
     $majuscule=$nom_complet;
     unset($nom_complet);
    }
    $passage=2;
    $majuscules=split($particule,$majuscule);
    $combien=count($majuscules);
    for ($j=0;$j<$combien;$j++){
     $maj=$majuscules[$j];
      if ($maj!='de' && $maj!='d\'' && $maj!='et' && $maj!='&'){

      $maj=ucfirst($maj);
     }
     $nom_complet.=$maj;
     if ($j<$combien-1){
      $nom_complet.=$particule;
     }

    }
/////FIN DU PLUS PETIT FOR//'////////
  }
////FIN DES MOTS QUI POSSèdent un séparateur " " ou -//////////////
 }
///////FIN DU PLUS GRAND FOR/////////
if($passage==1){
$majuscule=ucfirst($majuscule);
} 
elseif ($passage==2){
 $majuscule=$nom_complet;
}
//RESTITUTION DE LA VALEUR///
unset ($nom_complet);
///DESTRUCTION DU VÉHICULE AVEC UNSET////
$majuscule=str_replace("d' ", "d'",$majuscule);
////élision de l'espace supplémentaire pour d'///
return $majuscule;
}


///////AFFICHE JOUR////////////////////////////
function affiche_jour($moment){
if (!$moment){
$moment=time();
}
$jour=date("w", $moment);
$les_jours=array('dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi');
$jour=$les_jours[$jour];
return $jour;
}

/*ici il est pratique de mettre votre nombre d'heures de décalage avec l'heure GMT*/
$decalage_hiver=1;
//le paramètre envoyé est un timestamp que nous calculons avant l'appel
/*cette fonction affiche le mois en français (attention pas de capitales en français!)*/

///////AFFICHE MOIS////////////////////////////
function affiche_mois ($moment){
if (!$moment){
$moment=time();
}
$mois=date("n", $moment);
$mois_franc=array('', 'janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre');
return $mois_franc["$mois"];
}

/////////AFFICHE DATE LOCALE AVEC HEURE D'HIVER OU D'ETE/////////////////////////////////
function affiche_date_locale($moment){
$decalage_hiver=1;
if (!$moment){
$temps=time();
}
else {
$temps=$moment;
}
/*l'heure d'hiver commence le dernier dimanche de mars à 1h GMT et finit le dernier dimanche d'hiver à 1h GMT*/
$jourdesemaine=gmdate("w", mktime(1,0,0, 3,31,gmdate("Y")));
//variable pour connaître le jour de semaine du 31 mars
$limite_inf=mktime(1,0,0, 3,31-$jourdesemaine,gmdate("Y"));
//variable pour trouver le dernier dimanche de mars pour l'année courante
$jourdesemaine=gmdate("w", mktime(1,0,0, 10,31,gmdate("Y")));
//variable pour connaître le jour de semaine du 31 octobre
$limite_sup=mktime(1,0,0, 10,31-$jourdesemaine,gmdate("Y"));
//variable pour trouver le dernier dimanche d'octobre pour l'année courante
/*maintenant nous testons la date pour savoir si elle est comprise entre les deux limites et dans ce cas elle est en heure d'été*/
if ($temps>$limite_inf && $temps<$limite_sup){
$decalage=$decalage_hiver+1;
}
else {
$decalage=$decalage_hiver;
}
$moment=mktime(gmdate("G")+$decalage,gmdate("i"),0, gmdate("n"),gmdate("j"),gmdate("Y"));
//ici nous fabriquons le timestamp avec mktime() en incluant le décalage
$ladate=affiche_jour($moment) ." ".date("j", $moment)." ". affiche_mois($moment) ." ".  date("Y", $moment);
/*la date inclut le mois en français grâce à l'appel de la fonction. Vous pouvez dans certains cas faire précéder la fonction du @ pour éviter le message d'erreur si vous n'envoyez pas de paramètre par exemple alors que la fonction en utilise un.*/
$heure = date("G",$moment);
$minute = date("i", $moment);
$ladate.="<BR>"; 
$ladate.="$heure"; 
$ladate.="h"; 
$ladate.="$minute";
return $ladate;
   }
   
   //////////CRYPTAGE ET DECRYPTAGE////////////////////////////////
   global $serrure;
   $serrure=85465465454;
function crypte_chiffre($secret){
$secret*=$serrure;
$secret=base64_encode($secret);
$secret=urlencode($secret);
return $secret;
}
function decrypte_chiffre($revelation){
$revelation =base64_decode($revelation); 
$revelation /=$serrure;
return $revelation;
}
 
 /////////////TRI FRANCAIS D'UN TABLEAU  AVEC ACCENTS//////////////////////////
 function cmp ($a, $b) {
$un_tableau=array('à','â','ä');
$i=0;
$lalettre='b';
foreach($un_tableau as $valeur){
$a=str_replace($valeur,$lalettre.$i,$a);
$b=str_replace($valeur,$lalettre.$i,$b);
$i++;
}
$un_tableau=array('é','è','ê','ë');
$lalettre='f';
$i=0;
foreach($un_tableau as $valeur){
$a=str_replace($valeur,$lalettre.$i,$a);
$b=str_replace($valeur,$lalettre.$i,$b);
$i++;
}
$un_tableau==array('ô','ö');
$lalettre='p';
$i=0;
foreach($un_tableau as $valeur){
$a=str_replace($valeur,$lalettre.$i,$a);
$b=str_replace($valeur,$lalettre.$i,$b);
$i++;
}
$un_tableau=array('î','ï');
$i=0;
$lalettre='j';
foreach($un_tableau as $valeur){
$a=str_replace($valeur,$lalettre.$i,$a);
$b=str_replace($valeur,$lalettre.$i,$b);
$i++;
}
$un_tableau=array('ç');
$i=0;
$lalettre='d';
foreach($un_tableau as $valeur){
$a=str_replace($valeur,$lalettre.$i,$a);
$b=str_replace($valeur,$lalettre.$i,$b);
$i++;
}
$un_tableau=array('ù','û');
$i=0;
$lalettre='v';
foreach($un_tableau as $valeur){
$a=str_replace($valeur,$lalettre.$i,$a);
$b=str_replace($valeur,$lalettre.$i,$b);
$i++;
}

if ($a == $b) return 0;
return ($a < $b) ? -1 : 1;
}


?>

Le probleme c'est que je n'arrive pas à finaliser l'inscription apres le fichier inscription_P2.php : correspondant à traitement_id.php
Je ne vois pas de ou provient l'erreur.
Merci de votre aide

Dernière modification par duocore (Le 17/08/2014, à 16:34)

Hors ligne

#2 Le 16/08/2014, à 14:26

Kooothor

Re : probléme pour acceder à l'espace membres PHP/MySQL

Salut,

Personne ne va lire tes 12 fichiers pour trouver l'erreur (surtout sans coloration syntaxique, il aurait été plus simple de donner une url github, m'enfin…).
Par contre ce que tu peux faire c'est aller voir dans le fichier /var/log/apache2/error.log quelle est l'erreur. Normalement il te log l'erreur avec la ligne et tout, donc c'est assez facile de débuger si on lit les logs.

@+
~ktr

Hors ligne

#3 Le 16/08/2014, à 16:08

duocore

Re : probléme pour acceder à l'espace membres PHP/MySQL

j'ai pas encore l'habitude avec les logs.

voici error.log:

2014/08/16 16:55:21 [error] 12931#0: *4683 FastCGI sent in stderr: "PHP message: PHP Warning:  include(/var/www/commun/variable.inc.php): failed to open stream: No such file or directory in /var/www/indexphp.php on line 3
PHP message: PHP Warning:  include(): Failed opening '/var/www/commun/variable.inc.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/indexphp.php on line 3
PHP message: PHP Warning:  include(var/www/commun/fonctions.inc.php): failed to open stream: No such file or directory in /var/www/indexphp.php on line 4
PHP message: PHP Warning:  include(): Failed opening 'var/www/commun/fonctions.inc.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/indexphp.php on line 4
PHP message: PHP Parse error:  syntax error, unexpected 'au' (T_STRING) in /var/www/commun/stats.inc.php on line 4" while reading response header from upstream, client: 192.168.1.5, server: myserver.no-ip.org, request: "GET /indexphp.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "192.168.1.4"

Hors ligne

#4 Le 16/08/2014, à 17:34

Kooothor

Re : probléme pour acceder à l'espace membres PHP/MySQL

regarde le fichier stats.inc.php, faut que tu mettes des " si tu mets des ' dans une expression !!
prend un éditeur avec coloration syntaxique ! (vim) comme ça ce genre d'erreurs sautera aux yeux.
T'as d'autres erreurs aussi. Mais maintenant que tu sais où sont les logs, c'est facile à résoudre !

@+
~ktr

Hors ligne

#5 Le 16/08/2014, à 19:35

duocore

Re : probléme pour acceder à l'espace membres PHP/MySQL

je ne comprends pas trop les logs:

2014/08/16 20:27:38 [error] 12931#0: *17884 FastCGI sent in stderr: "PHP message: PHP Warning:  include(../commun/fonctions.inc.php): failed to open stream: No such file or directory in /var/www/indexphp.php on line 4
PHP message: PHP Warning:  include(): Failed opening '../commun/fonctions.inc.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/indexphp.php on line 4" while reading response header from upstream, client: 192.168.1.5, server: myserver.no-ip.org, request: "GET /indexphp.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "192.168.1.4"
2014/08/16 20:27:38 [error] 12931#0: *17884 FastCGI sent in stderr: "PHP message: PHP Warning:  Cannot modify header information - headers already sent by (output started at /var/www/commun/connexion.inc.php:18) in /var/www/commun/authentification.inc.php on line 3
PHP message: PHP Warning:  Cannot modify header information - headers already sent by (output started at /var/www/commun/connexion.inc.php:18) in /var/www/commun/authentification.inc.php on line 4
PHP message: PHP Notice:  A session had already been started - ignoring session_start() in /var/www/inscription_p1.php on line 2
PHP message: PHP Warning:  include(../commun/variables.inc.php): failed to open stream: No such file or directory in /var/www/inscription_p1.php on line 3
PHP message: PHP Warning:  include(): Failed opening '../commun/variables.inc.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/inscription_p1.php on line 3" while reading upstream, client: 192.168.1.5, server: myserver.no-ip.org, request: "GET /indexphp.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "192.168.1.4"
2014/08/16 20:27:38 [error] 12931#0: *17884 FastCGI sent in stderr: "PHP message: PHP Notice:  Undefined variable: action in /var/www/inscription_p1.php on line 8" while reading upstream, client: 192.168.1.5, server: myserver.no-ip.org, request: "GET /indexphp.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "192.168.1.4"
2014/08/16 20:27:38 [error] 12931#0: *17884 FastCGI sent in stderr: "PHP message: PHP Notice:  Undefined variable: action in /var/www/inscription_p1.php on line 54" while reading upstream, client: 192.168.1.5, server: myserver.no-ip.org, request: "GET /indexphp.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "192.168.1.4"
2014/08/16 20:27:38 [error] 12931#0: *17884 FastCGI sent in stderr: "PHP message: PHP Notice:  Undefined variable: action in /var/www/inscription_p1.php on line 116" while reading upstream, client: 192.168.1.5, server: myserver.no-ip.org, request: "GET /indexphp.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "192.168.1.4"
2014/08/16 20:27:38 [error] 12931#0: *17884 FastCGI sent in stderr: "PHP message: PHP Notice:  Undefined variable: prenom in /var/www/inscription_p1.php on line 136" while reading upstream, client: 192.168.1.5, server: myserver.no-ip.org, request: "GET /indexphp.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "192.168.1.4"
2014/08/16 20:27:38 [error] 12931#0: *17884 FastCGI sent in stderr: "PHP message: PHP Notice:  Undefined variable: nom in /var/www/inscription_p1.php on line 144" while reading upstream, client: 192.168.1.5, server: myserver.no-ip.org, request: "GET /indexphp.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "192.168.1.4"
2014/08/16 20:27:38 [error] 12931#0: *17884 FastCGI sent in stderr: "PHP message: PHP Notice:  Undefined variable: email in /var/www/inscription_p1.php on line 152" while reading upstream, client: 192.168.1.5, server: myserver.no-ip.org, request: "GET /indexphp.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "192.168.1.4"
2014/08/16 20:27:38 [error] 12931#0: *17884 FastCGI sent in stderr: "PHP message: PHP Notice:  Undefined variable: action in /var/www/inscription_p1.php on line 157" while reading upstream, client: 192.168.1.5, server: myserver.no-ip.org, request: "GET /indexphp.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "192.168.1.4"

je sais qu'il y a des erreurs mais impossible de les comprendre.

Hors ligne

#6 Le 16/08/2014, à 19:46

duocore

Re : probléme pour acceder à l'espace membres PHP/MySQL

je pense que c'est parce que mon fichier n'arrive pas à pointer vers le dossier commun.

structure :

var/www
|-mes differents fichiers php
|-/commun/
          |-contient les differents fichiers inc.php

et je ne trouve pas comment faire avec nginx

Hors ligne

#7 Le 16/08/2014, à 20:23

duocore

Re : probléme pour acceder à l'espace membres PHP/MySQL

je pense qu'il faut que je modifie aussi allow_url_include sur on

Hors ligne

#8 Le 16/08/2014, à 21:38

duocore

Re : probléme pour acceder à l'espace membres PHP/MySQL

j'ai modifier dans php.ini allow_url_include on

et j'ai modifier mes include dans mes pages en php comme ceci:

include("/commun/fichier.inc.pĥp")

et j'ai toujours des erreurs:

2014/08/16 22:26:31 [error] 12931#0: *27250 FastCGI sent in stderr: "PHP message: PHP Warning:  include(/commun/connexion.inc.php): failed to open stream: No such file or directory in /var/www/indexphp.php on line 6
PHP message: PHP Warning:  include(): Failed opening '/commun/connexion.inc.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/indexphp.php on line 6
PHP message: PHP Notice:  A session had already been started - ignoring session_start() in /var/www/inscription_p1.php on line 2
PHP message: PHP Warning:  include(/commun/variables.inc.php): failed to open stream: No such file or directory in /var/www/inscription_p1.php on line 3
PHP message: PHP Warning:  include(): Failed opening '/commun/variables.inc.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/inscription_p1.php on line 3
PHP message: PHP Warning:  include(/commun/connexion.inc.php): failed to open stream: No such file or directory in /var/www/inscription_p1.php on line 6
PHP message: PHP Warning:  include(): Failed opening '/commun/connexion.inc.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/inscription_p1.php on line 6
PHP message: PHP Notice:  Undefined variable: action in /var/www/inscription_p1.php on line 8" while reading response header from upstream, client: 192.168.1.5, server: myserver.no-ip.org, request: "GET /indexphp.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "192.168.1.4"
2014/08/16 22:26:31 [error] 12931#0: *27250 FastCGI sent in stderr: "PHP message: PHP Notice:  Undefined variable: action in /var/www/inscription_p1.php on line 54" while reading upstream, client: 192.168.1.5, server: myserver.no-ip.org, request: "GET /indexphp.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "192.168.1.4"
2014/08/16 22:26:31 [error] 12931#0: *27250 FastCGI sent in stderr: "PHP message: PHP Notice:  Undefined variable: action in /var/www/inscription_p1.php on line 116" while reading upstream, client: 192.168.1.5, server: myserver.no-ip.org, request: "GET /indexphp.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "192.168.1.4"
2014/08/16 22:26:31 [error] 12931#0: *27250 FastCGI sent in stderr: "PHP message: PHP Notice:  Undefined variable: prenom in /var/www/inscription_p1.php on line 136" while reading upstream, client: 192.168.1.5, server: myserver.no-ip.org, request: "GET /indexphp.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "192.168.1.4"
2014/08/16 22:26:31 [error] 12931#0: *27250 FastCGI sent in stderr: "PHP message: PHP Notice:  Undefined variable: nom in /var/www/inscription_p1.php on line 144" while reading upstream, client: 192.168.1.5, server: myserver.no-ip.org, request: "GET /indexphp.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "192.168.1.4"
2014/08/16 22:26:31 [error] 12931#0: *27250 FastCGI sent in stderr: "PHP message: PHP Notice:  Undefined variable: email in /var/www/inscription_p1.php on line 152" while reading upstream, client: 192.168.1.5, server: myserver.no-ip.org, request: "GET /indexphp.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "192.168.1.4"
2014/08/16 22:26:31 [error] 12931#0: *27250 FastCGI sent in stderr: "PHP message: PHP Notice:  Undefined variable: action in /var/www/inscription_p1.php on line 157" while reading upstream, client: 192.168.1.5, server: myserver.no-ip.org, request: "GET /indexphp.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "192.168.1.4"

pouvez vous m'aider, car je ne vois pas ou se trouve mon erreur.

Hors ligne

#9 Le 17/08/2014, à 08:18

ludo77

Re : probléme pour acceder à l'espace membres PHP/MySQL

bonjour,

Je viens de reprendre tous les fichiers php que j'ai mis dans un github:
https://github.com/ludo77/espace-membre-php-mysql
et j'ai refais un autre dossier administrateur en plus du dossier membres
il y aura des ameliorations a apporter.

je debute dans la programmation de php/mysql.
j'ai vu que dans le fichier authentification.inc.php pour ce connecter on utilise une fenetre de connexion (nom, motdepasse). Je ne sais pas ce qui est le mieux entre une fenetre de connexion ou formulaire pour s'identifier. car la plus par des sites utilisent un formulaire d'identification.

peut etre que cela vous aidera?

Hors ligne

#10 Le 17/08/2014, à 14:59

Kooothor

Re : probléme pour acceder à l'espace membres PHP/MySQL

Salut,

Il n'y a rien de difficile dans ce que tu cherches à faire. Comprendre un log d'erreurs fait partie des choses à apprendre lorsqu'on souhaite programmer en web.
Les erreurs sont quand même très explicites.

J'veux dire comment tu veux ne pas comprendre ça :
A session had already been started - ignoring session_start() in /var/www/inscription_p1.php on line 2

Une session est déjà démarrée. ignorance du session_start() de la ligne 2 de inscription_p1.php. Qu'est-ce que tu ne comprends pas là-dedans ?

PHP Warning:  include(/commun/connexion.inc.php): failed to open stream: No such file or directory in /var/www/indexphp.php on line 6
Le fichier n'existe pas.

Undefined variable
La variable n'est pas définie.

Bref, j'arrive pas à comprendre qu'on puisse écrire "je ne comprends pas trop les logs"....

Reprend ton code calmement, répare les erreurs une à une et tout ira bien. Et continue à apprendre, c'est cool le php smile

Hors ligne