SOS probleme de compréhension PHP

Fermé
Discretboy Messages postés 55 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 26 mai 2009 - 22 avril 2008 à 14:24
 sonic1 - 10 juin 2008 à 18:31
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.
A voir également:

7 réponses

Discretboy Messages postés 55 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 26 mai 2009 2
22 avril 2008 à 15:18
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
$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
Discretboy Messages postés 55 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 26 mai 2009 2
22 avril 2008 à 15:36
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
0
vers ou son envoye les information du formulaire
action="http://mon_site.com/page_de_traitement_du_formulaire.php"
0
Discretboy Messages postés 55 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 26 mai 2009 2
22 avril 2008 à 14:44
en faite sur mon pc (localhost) j'aimerai pratiquer des tests avant de me mettre sur un hebergeur.

Plus précisément, elle son censé se dirigé vers mon phpAdmin (ma BDD)
0

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

Posez votre question
action="./page_de_traitement_du_formulaire.php"
0
Discretboy Messages postés 55 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 26 mai 2009 2
22 avril 2008 à 15:09
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??
0
que ce passe t'il ???
0
Discretboy Messages postés 55 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 26 mai 2009 2
22 avril 2008 à 15:21
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;
0