je suis en train de créer mon premier site en php.
En fait c'est un site en html dans lequel je vais essayer d'inserer un peu de php pour l'automatiser un peu.
Mon premier défi est donc de construire une page d'inscription correcte, dont les champs iraient dans ma base de données.
J'ai donc construit la page www.drivingmanagement.yi.org/inscription2.htm qui est une page expérimentale pour l'instant qui viendra remplacer ma page d'inscription normale (inscription.htm).
Donc je résume la situation:
j'ai mon formulaire en:
<form action="suivi_inscription.php" enctype="application/x-www-form-urlencoded">
Sur ma page suivi_inscription.php j'ai fait :<?php
include("header.php");
$_POST["identifiant"] = stripslashes($_POST["identifiant"]);
$_POST["password"] = stripslashes($_POST["password"]);
$_POST["email"] = stripslashes($_POST["email"]);
$_POST["ecurie"] = stripslashes($_POST["ecurie"]);
$_POST["nom_patron"] = stripslashes($_POST["nom_patron"]);
$_POST["nation"] = stripslashes($_POST["nation"]);
$_POST["description_ecurie"] = stripslashes($_POST["description_ecurie"]);
$souvenir_info = $_GET["souvenir_info"];
if ($souvenir_info = oui)
{
$_cookieUnName="identifiant";
$_cookieDeuxName="password";
$_cookieUnValue="identifiant";
$_cookieDeuxValue="password";
$_expire=14*24*3600;
setcookie($_cookieUnName, $_cookieUnValue, time() + $_expire);
setcookie($_cookieDeuxName, $_cookieDeuxValue, time() + $_expire);
}
$c = new inscription($_POST["identifiant"], $_POST["password"], $_POST["email"], $_POST["ecurie"], $_POST["nom_patron"], $_POST["nation"], $_POST["description_ecurie"]);
$c -> enregistrer();
$destinataire = $_POST["email"];
$sujet = "Récapitulatif de vos informations à propos de l\'inscription sur le site de jeu Driving Management";
$corps="à remplir";
mail ( $destinataire, $sujet, $corps);
print("Votre inscription a bien été validée!<br/>Vous allez recevoir un message récapitulant les informations que vous venez d'entrer à l'adresse email que vous venez d'indiquer.<br/>Vous allez maintenant être redirigé sur la page d\'accueil de la catégorie pour laquelle vous venez d'être inscrit.");
print("<meta HTTP-EQUIV=\"refresh\" CONTENT=20;URL=\"kart_saison1.htm\">");
include("footer.php");
?>
et mon header.php est :<?php
function __autoload($classe)
{
include("classes/".$classe.".php");
}
?>
<html>
<head>
<title>Suivi des inscriptions au jeu Driving Management</title>
</head>
<body>
Ma classe inscription existe et est bien dans le répertoire classes:<?php
class Inscription
{
private $identifiant;
private $password;
private $email;
private $ecurie;
private $nom_patron;
private $nation;
private $description_ecurie;
function __construct( $identifiant, $password, $email, $ecurie, $nom_patron, $nation, $description_ecurie )
{
$this->identifiant = $identifiant;
$this->password = $password;
$this->email = $email;
$this->ecurie = $ecurie;
$this->nom_patron = $nom_patron;
$this->nation = $nation;
$this->description_ecurie = $description_ecurie;
}
function enregistrer()
{
$bdd = new MySql();
$bdd->connecter();
$requete = "INSERT INTO kart_saison1 (identifiant, password, email, ecurie, nom_patron, nation, description_ecurie) VALUES (";
$requete .= "'" . mysql_escape_string($this->identifiant) . "', ";
$requete .= "'" . mysql_escape_string($this->password) . "', ";
$requete .= "'" . mysql_escape_string($this->email) . "', ";
$requete .= "'" . mysql_escape_string($this->ecurie) . "', ";
$requete .= "'" . mysql_escape_string($this->nom_patron) . "', ";
$requete .= "'" . mysql_escape_string($this->nation) . "', ";
$requete .= "'" . mysql_escape_string($this->description_ecurie) . "' )";
$bdd->executerRequete( $requete );
$bdd->deconnecter();
}
}
?>
Le problème est au final que d'une part les cookies ne sont pas envoyés (mais ça c'est pas très grave, c'est juste un truc que j'essayais de faire) mais surtout que j'ai le message d'erreur:Il me semble que ça veut dire qu'il pense que ma classe inscription n'existe pas.Fatal error: Cannot instantiate non-existent class: inscription in /home/drivingman/domains/drivingmanagement.yi.org/public_html/suivi_inscription.php on line 19
Jj'imagine donc que le problème vient de la fonction__autoload du header.php
Je me suis librement inspiré du livre PHP 5 de N.Borde chez Micro App.
C'est pour ça que mon système parait bizzarement complexe pour un newbie du php. Mais je pense avoir compris ce que j'ai fait et ce qui est censé se dérouler.
Merci de bien vouloir m'aider à débugger tout ça car je n'y arive pas moi-même.
Ciao