IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Fonction php d'inscription [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Jiraiya42
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    671
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 671
    Par défaut Fonction php d'inscription
    Salut,

    Je m'explique. J'ai plusieurs scripts par exemple inscription, connexion, déconnexion... sous forme de plusieurs fichiers. Donc ce que je voudrais c'est pouvoir avoir uniquement un fichiers fonctions pour tout ça comme ça c'est plus facilement exportable.

    Par exemple, j'ai ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
     
    <?php
    	require ("connect.php");
    	mysql_connect (SERVEUR, NOM, PASSE) or die(mysql_error);
    	mysql_select_db (BASE) or die(mysql_error);
     
    	$nom = $_POST['nom'];
    	$mdp = $_POST['mdp'];
    	$mail = $_POST['mail'];
    	$date = $_POST['date'];
    	$mdp_ver = $_POST['mdp_ver'];
     
    	if ($mdp==$mdp_ver)
    	  {
    	    $select = "SELECT * FROM adherent WHERE nomadh='$nom';";
    		$sel = mysql_query($select) or die('Erreur SQL !<br>'.$request.'<br>'.mysql_error());
    		if(mysql_num_rows($sel) === 0)
    		  {
    		    $requete = "INSERT INTO adherent VALUES ('','$nom', '$mdp', '$mail', '$date');";
    			$res = @mysql_query ($requete);			
    			if (!$res)
    	          {
    		        echo 'Impossible d\'exécuter la requête : ' . mysql_error();
    				exit;
    			  }
    			else
    			  {
    			    echo '<br />Vous vous êtes inscrit avec succès, vous allez recevoir un mail de confirmation'
    				   . ' dans les plus brefs délais<br /><br />';	
     
    				// Declaration des entetes
    				$entetes = "From: webmaster@toutpourpc.free.fr\n\r" ;
    				$mail = $_POST['mail'].', blabla@yahoo.fr';
    				$sujet = "Inscription";
    				$message = "Cher $nom, merci de votre inscription :) Je vous invite à vous rendre sur mon site http://toutpourpc.free.fr";
    				if (mail($mail,$sujet,$message,$entetes))
    				  {
    				    echo 'L\'e-mail vous a été envoyé avec succès<br /><br />';
    				  }
    				else
    				  {
    					echo 'L\'e-mail n\'a pas été envoyé<br /><br />';
    				  }		
    			  }
    			}
    		  else
    			{
    		      echo '<br />Le pseudo choisi existe déjà, veuillez en choisir un différent svp... merci<br /><br />'
    				 . '<form method="post" action="./fonctions/fonc_inscription.php">'
    				 . '<table>'
    				 . '<tr>'
    				 . '<td>Pseudo:</td>'
    			     . '<td><input type="text" name="nom" /></td>'
    				 . '</tr>'
    				 . '<tr>'
    				 . '<td>Mot de passe:</td>'
    				 . '<td><input type="text" name="mdp" /></td>'
    				 . '</tr>'
    		         . '<tr>'
    				 . '<td>Mail:</td>'
    			     . '<td><input type="text" name="mail" /></td>'
    				 . '</tr>'
    				 . '<tr>'
    		         . '<td>Date de naissance</td>'
    				 . '<td><input type="text" name="date" />(AAAA/MM/JJ)</td>'
    				 . '</tr>'
    				 . '<td></td>'
    				 . '<td><input type="submit" name="submit" value="Envoyer" /></td>'
    				 . '</tr>'
    				 . '</table>'
    				 . '</form>';
    		    } 
    	  }
    	else
    	  {
    	    echo '<br />Les mots de passe ne concordent pas, veuillez recommencer svp... merci<br /><br />';
    	  }
    ?>
    Il s'agit de mon code d'inscription, il fonctionne. Voilà ma question, est-il possible de faire en sorte que ce script soit sous la forme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function inscription(..., ..., ....)
    Etant donné qu'une fonction est censé retournée une valeur et non pas exécuter une tache comme une procédure est-ce possible ? Et comment faire passer les paramètres à la fonction svp ?

    En gros quelqu'un peut il me dire comment amorcer le changement svp ? Juste me mettre sur la voie

    Merci d'avance...

  2. #2
    Membre éprouvé Avatar de Shinji62
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 135
    Par défaut
    Citation Envoyé par Jiraiya42
    Salut,

    Je m'explique. J'ai plusieurs scripts par exemple inscription, connexion, déconnexion... sous forme de plusieurs fichiers. Donc ce que je voudrais c'est pouvoir avoir uniquement un fichiers fonctions pour tout ça comme ça c'est plus facilement exportable.

    Par exemple, j'ai ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
     
    <?php
    	require ("connect.php");
    	mysql_connect (SERVEUR, NOM, PASSE) or die(mysql_error);
    	mysql_select_db (BASE) or die(mysql_error);
     
    	$nom = $_POST['nom'];
    	$mdp = $_POST['mdp'];
    	$mail = $_POST['mail'];
    	$date = $_POST['date'];
    	$mdp_ver = $_POST['mdp_ver'];
     
    	if ($mdp==$mdp_ver)
    	  {
    	    $select = "SELECT * FROM adherent WHERE nomadh='$nom';";
    		$sel = mysql_query($select) or die('Erreur SQL !<br>'.$request.'<br>'.mysql_error());
    		if(mysql_num_rows($sel) === 0)
    		  {
    		    $requete = "INSERT INTO adherent VALUES ('','$nom', '$mdp', '$mail', '$date');";
    			$res = @mysql_query ($requete);			
    			if (!$res)
    	          {
    		        echo 'Impossible d\'exécuter la requête : ' . mysql_error();
    				exit;
    			  }
    			else
    			  {
    			    echo '<br />Vous vous êtes inscrit avec succès, vous allez recevoir un mail de confirmation'
    				   . ' dans les plus brefs délais<br /><br />';	
     
    				// Declaration des entetes
    				$entetes = "From: webmaster@toutpourpc.free.fr\n\r" ;
    				$mail = $_POST['mail'].', nicolasbret@yahoo.fr';
    				$sujet = "Inscription";
    				$message = "Cher $nom, merci de votre inscription :) Je vous invite à vous rendre sur mon site http://toutpourpc.free.fr";
    				if (mail($mail,$sujet,$message,$entetes))
    				  {
    				    echo 'L\'e-mail vous a été envoyé avec succès<br /><br />';
    				  }
    				else
    				  {
    					echo 'L\'e-mail n\'a pas été envoyé<br /><br />';
    				  }		
    			  }
    			}
    		  else
    			{
    		      echo '<br />Le pseudo choisi existe déjà, veuillez en choisir un différent svp... merci<br /><br />'
    				 . '<form method="post" action="./fonctions/fonc_inscription.php">'
    				 . '<table>'
    				 . '<tr>'
    				 . '<td>Pseudo:</td>'
    			     . '<td><input type="text" name="nom" /></td>'
    				 . '</tr>'
    				 . '<tr>'
    				 . '<td>Mot de passe:</td>'
    				 . '<td><input type="text" name="mdp" /></td>'
    				 . '</tr>'
    		         . '<tr>'
    				 . '<td>Mail:</td>'
    			     . '<td><input type="text" name="mail" /></td>'
    				 . '</tr>'
    				 . '<tr>'
    		         . '<td>Date de naissance</td>'
    				 . '<td><input type="text" name="date" />(AAAA/MM/JJ)</td>'
    				 . '</tr>'
    				 . '<td></td>'
    				 . '<td><input type="submit" name="submit" value="Envoyer" /></td>'
    				 . '</tr>'
    				 . '</table>'
    				 . '</form>';
    		    } 
    	  }
    	else
    	  {
    	    echo '<br />Les mots de passe ne concordent pas, veuillez recommencer svp... merci<br /><br />';
    	  }
    ?>
    Il s'agit de mon code d'inscription, il fonctionne. Voilà ma question, est-il possible de faire en sorte que ce script soit sous la forme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function inscription(..., ..., ....)
    Etant donné qu'une fonction est censé retournée une valeur et non pas exécuter une tache comme une procédure est-ce possible ? Et comment faire passer les paramètres à la fonction svp ?

    En gros quelqu'un peut il me dire comment amorcer le changement svp ? Juste me mettre sur la voie

    Merci d'avance...

    Avec une fonction tu peux faire ce que tu veux...
    Elle n,'est pas forcement obliger de renvoyer vrai ou faux.

    tu peux tres bien faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
     
     
    function inscription($nom, $mdp, $mail, $date, $mdp_ver)
    {
     
    	if ($mdp==$mdp_ver)
    	  {
    	    $select = "SELECT * FROM adherent WHERE nomadh='$nom';";
    		$sel = mysql_query($select) or die('Erreur SQL !<br>'.$request.'<br>'.mysql_error());
    		if(mysql_num_rows($sel) === 0)
    		  {
    		    $requete = "INSERT INTO adherent VALUES ('','$nom', '$mdp', '$mail', '$date');";
    			$res = @mysql_query ($requete);			
    			if (!$res)
    	          {
    		        echo 'Impossible d\'exécuter la requête : ' . mysql_error();
    				exit;
    			  }
    			else
    			  {
    			    echo '<br />Vous vous êtes inscrit avec succès, vous allez recevoir un mail de confirmation'
    				   . ' dans les plus brefs délais<br /><br />';	
     
    				// Declaration des entetes
    				$entetes = "From: webmaster@toutpourpc.free.fr\n\r" ;
    				$mail = $_POST['mail'].', nicolasbret@yahoo.fr';
    				$sujet = "Inscription";
    				$message = "Cher $nom, merci de votre inscription :) Je vous invite à vous rendre sur mon site http://toutpourpc.free.fr";
    				if (mail($mail,$sujet,$message,$entetes))
    				  {
    				    echo 'L\'e-mail vous a été envoyé avec succès<br /><br />';
    				  }
    				else
    				  {
    					echo 'L\'e-mail n\'a pas été envoyé<br /><br />';
    				  }		
    			  }
    			}
    		  else
    			{
    		      echo '<br />Le pseudo choisi existe déjà, veuillez en choisir un différent svp... merci<br /><br />'
    				 . '<form method="post" action="./fonctions/fonc_inscription.php">'
    				 . '<table>'
    				 . '<tr>'
    				 . '<td>Pseudo:</td>'
    			     . '<td><input type="text" name="nom" /></td>'
    				 . '</tr>'
    				 . '<tr>'
    				 . '<td>Mot de passe:</td>'
    				 . '<td><input type="text" name="mdp" /></td>'
    				 . '</tr>'
    		         . '<tr>'
    				 . '<td>Mail:</td>'
    			     . '<td><input type="text" name="mail" /></td>'
    				 . '</tr>'
    				 . '<tr>'
    		         . '<td>Date de naissance</td>'
    				 . '<td><input type="text" name="date" />(AAAA/MM/JJ)</td>'
    				 . '</tr>'
    				 . '<td></td>'
    				 . '<td><input type="submit" name="submit" value="Envoyer" /></td>'
    				 . '</tr>'
    				 . '</table>'
    				 . '</form>';
    		    } 
    	  }
    	else
    	  {
    	    echo '<br />Les mots de passe ne concordent pas, veuillez recommencer svp... merci<br /><br />';
    	  }
    }

  3. #3
    Membre éclairé Avatar de Jiraiya42
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    671
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 671
    Par défaut
    Ah nikel alors, me voilà éclairé merci bien Je voulais pas me lancer sans etre sur que ce soit possible Pendant que j'y suis, dans un formulaire j'envoie comme d'hab vers le fichier concerné ? Meme si c'est une fonction ? Je n'ai pas besoin de spécifier quelle fonction utilisée dans le fichier svp ? (ça m'étonnerait que ce soit le cas mais on sait jamais)

  4. #4
    Membre éprouvé Avatar de Shinji62
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 135
    Par défaut
    Citation Envoyé par Jiraiya42
    Ah nikel alors, me voilà éclairé merci bien Je voulais pas me lancer sans etre sur que ce soit possible Pendant que j'y suis, dans un formulaire j'envoie comme d'hab vers le fichier concerné ? Meme si c'est une fonction ? Je n'ai pas besoin de spécifier quelle fonction utilisée dans le fichier svp ? (ça m'étonnerait que ce soit le cas mais on sait jamais)

    Ce que tu peux faire c'est de mettre toutes tes fonctions dans un fichier fonc.inc, que tu inclus dans ton fcihier de traitements appelé par ton formulaire.

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2006
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 379
    Par défaut
    Citation Envoyé par Shinji62
    Ce que tu peux faire c'est de mettre toutes tes fonctions dans un fichier fonc.inc, que tu inclus dans ton fcihier de traitements appelé par ton formulaire.
    Il faut en effet séparer ses fonctions de son code (Même si c'est du code xD). Par contre, il vaut mieux faire plusieurs fichier avec dans chacun, des fonctions ayant un rapport ...
    Par exemple un fichier de classe mysql : class.mysql.php
    Comme ça, en cas de soucis, on sait directement ce qui coince. Et puis ça évite le fichier de fonctions de 3.000 lignes illisibles :').

  6. #6
    Membre éclairé Avatar de Jiraiya42
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    671
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 671
    Par défaut
    Oki, merci pour vos réponses J'ai dans l'idée de faire un fichier fonc_adh pour toutes les fonctions concernant les adhérents comme l'inscription, connexion... un fichier pour ce qui est des connexions à la base et les erreurs MySQL, et un fichier pour tout ce qui concerne l'administrateur, ce pourrait etre pas mal non ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Appel fonction php dans code javascript
    Par licorne dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 05/03/2008, 10h55
  2. Réponses: 7
    Dernier message: 29/05/2007, 15h11
  3. Réponses: 3
    Dernier message: 06/11/2005, 18h02
  4. fonctions php
    Par dinde dans le forum Langage
    Réponses: 3
    Dernier message: 27/10/2005, 10h27
  5. La fonction PHP sleep() pompe t-elle en ressource UC ?
    Par Thierry8 dans le forum Langage
    Réponses: 3
    Dernier message: 20/08/2005, 19h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo