Probleme de compréhension code php

Discretboy Messages postés 56 Statut Membre -  
 Freakfonk -
Bonjour,

Bonjour,

je suis actuellement un tuto de PHP pour créer un formulaire d'inscription (login).
Mais je ne reçois pas d'explication donc j'essai sur le forum comment ca marche.

Ma question (toute simple) serai de savoir la signification de cette ligne:

<form action="http://<?php= $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"]; ?>" method="post">

et par quoi dois-je remplacer $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"]

je pense avoir une idée mais je ne suis pas sur merci.
Configuration: Windows Vista
Firefox 2.0.0.14

11 réponses

  1. gryzzly Messages postés 5220 Date d'inscription   Statut Contributeur Dernière intervention   1 340
     
    <form action="http://<?php $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"]; ?>" method="post"> 
    </form>


    y'avait un "=" en trop

    essayes ca :

    <?php
    echo "http://" . $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"];
    ?>


    tu dois voir comme résultat :
    http://localhost/adresse_de_ta_page
    1
    1. Discretboy Messages postés 56 Statut Membre 2
       
      C'est bon il fonctionne. je vois effectivement dans http://localhost/adresse_de_ta_page.

      mais apparement j'ai un autre problème c'est celui de ma connection avec ma BDD.

      Je t'explique:

      j'ai 6 pages de code: activer-compte-utilisateur.php, creer-compte-utilisateur.php, index.php, formulaire-d-inscription.php
      connexion.php
      et enfin deconnexion.php

      J'ai suivi exactement un tuto à la lettre de meme pour la création de la BDD mais apparement il n'est pas fameux ce tuto. j'ai envoyé plusieurs question mais il n'y pas de réponse.
      0
  2. gryzzly Messages postés 5220 Date d'inscription   Statut Contributeur Dernière intervention   1 340
     
    par quoi dois-je remplacer

    Par rien du tout. Y'a rien à modifier. Comment dire, c'est parfait comme ça. Euh... et puis dire aussi que pourquoi modifier ?

    https://www.vulgarisation-informatique.com/variables-predefinies.php
    0
    1. Discretboy Messages postés 56 Statut Membre 2
       
      non enfaite je voulais dire par quoi modifier cette ligne de code?
      0
  3. gryzzly Messages postés 5220 Date d'inscription   Statut Contributeur Dernière intervention   1 340
     
    Par rien !
    Y'a rien à modifier. cette ligne veut dire que le traitement sur fera par POST sur la page en cours.
    0
  4. Discretboy Messages postés 56 Statut Membre 2
     
    Ok, je n'est rien changé mais des que je valide le formulaire d'inscription(pour tester) mon formulaire.

    mais j'ai ce message qui s'affiche:Serveur introuvable: Firefox ne peut trouver le serveur à l'adresse <..
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. gryzzly Messages postés 5220 Date d'inscription   Statut Contributeur Dernière intervention   1 340
     
    T'as un serveur ou tu testes directement la page dans le navigateur ?
    0
  7. Discretboy Messages postés 56 Statut Membre 2
     
    je test sur WampServer 2.0 et je suis censé me connecter avec ma BDD lorsque je fini de remplir le formulaire
    0
  8. gryzzly Messages postés 5220 Date d'inscription   Statut Contributeur Dernière intervention   1 340
     
    et ?
    0
  9. Discretboy Messages postés 56 Statut Membre 2
     
    plus être plus claire voici mon code tel quel:

    <?php

    // Redirige l'utilisateur s'il est déjà identifié
    if(isset($_COOKIE["ID_UTILISATEUR"]))
    {
    header("Location: index.php");
    }
    else
    {

    // Formulaire visible par défaut
    $masquer_formulaire = false;

    // Une fois le formulaire envoyé
    if(isset($_POST["BT_Envoyer"]))
    {

    // Vérification de la validité des champs
    if(!ereg("^[A-Za-z0-9_]{4,20}$", $_POST["TB_Nom_Utilisateur"]))
    {
    $message = "Votre nom d'utilisateur doit comporter entre 4 et 20 caractères<br />\n";
    $message .= "L'utilisation de l'underscore est autorisée";
    }
    elseif(!ereg("^[A-Za-z0-9]{4,}$", $_POST["TB_Mot_de_Passe"]))
    {
    $message = "Votre mot de passe doit comporter au moins 4 caractères";
    }
    elseif($_POST["TB_Mot_de_Passe"] != $_POST["TB_Confirmation_Mot_de_Passe"])
    {
    $message = "Votre mot de passe n'a pas été correctement confirmé";
    }
    elseif(!ereg("^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,4}$",
    $_POST["TB_Adresse_Email"]))
    {
    $message = "Votre adresse e-mail n'est pas valide";
    }
    else
    {

    // Connexion à la base de données
    // Valeurs à modifier selon vos paramètres configuration
    mysql_connect("localhost", "******", "*******");
    mysql_select_db("Comptes_Utilisateurs");

    // Vérification de l'unicité du nom d'utilisateur et de l'adresse e-mail
    $result = mysql_query("
    SELECT Nom_Utilisateur
    , Adresse_Email
    FROM Comptes_Utilisateurs
    WHERE Nom_Utilisateur = '" . $_POST["TB_Nom_Utilisateur"] . "'
    OR Adresse_Email = '" . $_POST["TB_Adresse_Email"] . "'
    ");

    // Si une erreur survient
    if(!$result)
    {
    $message = "Une erreur est survenue lors de la création de votre compte utilisateur";
    }
    else
    {

    // Si un enregistrement est trouvé
    if(mysql_num_rows($result) > 0)
    {

    while($row = mysql_fetch_array($result))
    {

    if($_POST["TB_Nom_Utilisateur"] == $row["Nom_Utilisateur"])
    {
    $message = "Le nom d'utilisateur " . $_POST["TB_Nom_Utilisateur"];
    $message .= "est déjà utilisé";
    }
    elseif($_POST["TB_Adresse_Email"] == $row["Adresse_Email"])
    {
    $message = "L'adresse e-mail " . $_POST["TB_Adresse_Email"];
    $message .= "est déjà utilisée";
    }

    }

    }
    else
    {

    // Génération de la clef d'activation
    $caracteres = array("a", "b", "c", "d", "e", "f", 0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
    $caracteres_aleatoires = array_rand($caracteres, 8);
    $clef_activation = "";

    foreach($caracteres_aleatoires as $i)
    {
    $clef_activation .= $caracteres[$i];
    }

    // Création du compte utilisateur
    $result = mysql_query("
    INSERT INTO Comptes_Utilisateurs(
    Nom_Utilisateur
    , Mot_de_Passe
    , Adresse_Email
    , Date_Inscription
    , Clef_Activation
    )
    VALUES(
    '" . $_POST["TB_Nom_Utilisateur"] . "'
    , '" . md5($_POST["TB_Mot_de_Passe"]) . "'
    , '" . $_POST["TB_Adresse_Email"] . "'
    , '" . time() . "'
    , '" . $clef_activation . "'
    )
    ");

    // Si une erreur survient
    if(!$result)
    {
    $message = "Une erreur est survenue lors de la création de votre compte utilisateur";
    }
    else
    {

    // Envoi du mail d'activation
    $sujet = "Activation de votre compte utilisateur";

    $message = "Pour valider votre inscription, merci de cliquer sur le lien suivant :\n";
    $message .= "http://" . $_SERVER["SERVER_NAME"];
    $message .= "/activer-compte-utilisateur.php?id=" . mysql_insert_id();
    $message .= "&clef=" . $clef_activation;

    // Si une erreur survient
    if(!@mail($_POST["TB_Adresse_Email"], $sujet, $message))
    {
    $message = "Une erreur est survenue lors de l'envoi du mail d'activation<br />\n";
    $message .= "Veuillez contacter l'administrateur afin d'activer votre compte";
    }
    else
    {

    // Message de confirmation
    $message = "Votre compte utilisateur a correctement été créer<br />\n";
    $message .= "Un email vient de vous être envoyer afin de l'activer";

    // On masque le formulaire
    $masquer_formulaire = true;

    }

    }

    }

    }

    }

    // Fermeture de la connexion à la base de données
    mysql_close();

    }

    }

    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html lang="fr" xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>[PHP] Créer un espace membre</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>

    <body>
    <?php if(isset($message)) { ?>
    <p><?php= $message; ?></p>
    <?php } if($masquer_formulaire != true) { ?>
    <form action="http://<?php echo "http://" . $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"];?>" method="post">
    <p>
    Nom d'utilisateur : <input type="text" name="TB_Nom_Utilisateur" />
    </p>
    <p>
    Mot de passe : <input type="password" name="TB_Mot_de_Passe" />
    </p>
    <p>
    Confirmation du mot de passe : <input type="password" name="TB_Confirmation_Mot_de_Passe" />
    </p>
    <p>
    Adresse e-mail : <input type="text" name="TB_Adresse_Email" />
    </p>
    <p>
    <input type="submit" name="BT_Envoyer" value="Envoyer" />
    </p>
    </form>
    <?php } ?>
    </body>
    </html>

    perso je ne vois toujours pas mon erreur??
    0
  10. Utilisateur anonyme
     
    Salut !

    Je suis sur ce tuto aussi, et franchement c'est assez mal expliqué... Je vais suivre ce post, pourrais-tu au final résumer si tu parviens à tout comprendre s'il-te-plaît ? =D

    Merci d'avance ! ;)

    *gab*
    0
    1. Discretboy Messages postés 56 Statut Membre 2
       
      Oui dès que j'ai du nouveau je te ferai signe.

      t'es à quel stade?
      0
      1. Utilisateur anonyme > Discretboy Messages postés 56 Statut Membre
         
        Merci ! :)

        Hmm... Comment dire ? Stade zéro puisque j'essaye de comprendre le code ! :D
        Ça aurait été plus simple si l'auteur de ce tutoriel explique chaque ligne du code en nous disant concrètement les pages qu'il faut créer et qu'est ce qu'il faut mettre dans ces différentes pages... :) J'espère que je vais comprendre ici... :D

        *gab*
        0
      2. Discretboy Messages postés 56 Statut Membre 2 > Utilisateur anonyme
         
        Salut,
        après plusieurs tentatives avec le tuto mentionner auparavant.
        j'ai chercher un site pouvant expliquer un peux mieux le développement et ce n'as pas été trop dur car la j'ai réussi a coder pour un bulletin d'inscription et l'enregistrement automatique dans ma BDD.

        Le seul hic pour l'instant c l'absence d'un code pour un envoie d'un mail à l'inscrit. mais je continue a suivre les autres cours et je pense bientôt y arriver. A bientôt!

        le liens:http://www.lephpfacile.com/howto/10-comment-faire-un-espace-membre-en-php

        fais-moi signe si tu trouves de bonnes info sur php, merci
        0
      3. Utilisateur anonyme > Discretboy Messages postés 56 Statut Membre
         
        Salut,

        Okay, je vais voir ça, merci, j'te tiens au courant si je trouve des bons tutos ! (c'est pas facile quand même...)

        *gab*
        0
  11. gryzzly Messages postés 5220 Date d'inscription   Statut Contributeur Dernière intervention   1 340
     
    Et ?
    un message d'erreur peut être ? Qu'est ce qui marche pas ? Qu'est ce qui marche ?
    J'ai pas envie de chercher dans le vide ....
    0
  12. gryzzly Messages postés 5220 Date d'inscription   Statut Contributeur Dernière intervention   1 340
     
    et il sort d'ou ce tuto ?
    0
    1. Discretboy Messages postés 56 Statut Membre 2
       
      le tuto vient de la http://www.asp-php.net/...

      désolé d'avoir été aussi vague. mais la j'ai réussi a trouvé ce qui clochait. maintenant j'ai un autre message d'erreur que j'essai d'analyser:

      You don't have permission to access /espace_membre/creer-compte-utilisateur.php" on this server.

      je ne suis que débutant enprog. mais je suis sûr que je ne suis pas censé recevoir cette erreur puisque je viens de remplir mon formulaire d'inscription?? En remplissant mon formulaire Ma BDD est censé créer des ligne pour chaque nouveau utilisateurs et un au niveau php je dois recevoir un mail d'activation. ce que je ne recois pas!

      merci
      0
    2. Freakfonk
       
      Bonjour, je déterre un mort mais je suis également sur ce tuto...

      <form action="http://<?php $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"]; ?>" method="post"> 
      </form>
      
      
      
      y'avait un "=" en trop
      
      essayes ca :
      
      <?php
      echo "http://" . $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"];
      ?>


      Je n'arrive pas à le modifier, ou du moins à le faire marcher, avec l'une ou l'autre des solutions.

      Quelqu'un saurait?
      0