SOS probleme de compréhension PHP

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

7 réponses

  1. Super ca marche!!...Enfin cette fois j'ai un vrai message d'erreur par rapport a ce que je voudrait obtenir:

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

    par contre, puisque je fais des test pour ma page d'inscription ne suis-je pas censé recevoir un mail au lieu d'un message d'erreur puisque de toute facon je n'avais pas de permission pour y acceder.

    je pense que c mon code pour ma BDD.

    merci infiniment Dede!!
    1. Slt Discretboy, moi aussi j'ai le meme code que toi et j'arrives aussi au meme message d'erreur que toi. As tu pu faire fonctionner la création de compte? Si oui pourrais tu me dire comment faire?

      Merci d'avance
  2. $message = "Pour valider votre inscription, merci de cliquer sur le lien suivant :<br>http://" . $_SERVER["SERVER_NAME"]."/activer-compte-utilisateur.php?id=" . mysql_insert_id()."&clef=" . $clef_activation;
    1. je n'arrive pas continué dans l'implantation des noms est mot de passe dans ma BDD ni a ce que le prog. renvoi un message d''activation par email.

      sinon je pense que le plus simple serai de trouver un meilleur tuto. si tu a des liens je suis partant.
      1. que ce passe t'il ???
        1. sinon a defaut de bien comprendre sont-elle juste ces lignes.

          $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;
      2. merci ca marche. sauf que maintenant c'est mes autre code qui ne suivent plus apparement! voici mon code exact:

        <?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>

        moi perso, je ne vois pas ce qui cloche??