Version complète: sur le forum Webmaster Hub : Implémentation d'un formulaire avec donnée provenant d'une BDD Mysql
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
dark_buitar
Bonjour,


Je suis en train de realiser une petite application destinée au web et, je me trouve devant un probleme ... plutot bete... à premiere vue.

J'ai une classe "Texte" qui gere l'ajout, la modif, l'affichage, etc de texte, suivant plusieur critere.


Lors de mes premiere phase de test, j'ai été obligé d'inserrer un gros bloc de "Echo" dans ma classe d'affichage pour avoir un rendu correct me permettant de debugger les insertion des donnée Mysql en préremplissage du formulaire.

Maintenant, tout ce gros bloc de "Echo", je le deplace dans un fichier annexe, appeller "newform.php" ( fichier contenant le bloc de echo générant le formulaire.)
Je l'inclue a l'aide d'un include_once(); , je teste ...


Et la, panique a bord (expression, en fait ca m'a saoulé grave tongue.gif ), le formulaire s'affiche, avec tout les "echo" un peu n'importe comment et les variables n'atteigne rien du tout.

Je suis ... hmm ... perdu a ce niveau la, et si quelqu'un pouvait m'apporté de l'aide, j'apprécirais beaucoup


voici le code.

texte.php
CODE
<?php

require_once("connexion.php");
//include_once("connexion.inc.php");

class Texte
{
//Variables
private $Id_Texte; // ID Texte
public $Texte_Titre; // Titre Texte
public $Texte_Texte; // Corps du Texte


//constructeur
function __construct()
{

}

public function Ajouter_Texte()
{
//variables


$this->$Titre=$Texte_Titre;
$this->$Texte=$Texte_Texte;


$req="INSERT INTO Texte(Texte_Titre, Texte_Texte)
VALUES ($Titre, $Texte)";
$conn = new connexion_class();
$conn->requete($req);

//traitement de la requête
}

public function modifier_Texte($Id_Texte)
{

$this->Titre=$Texte_Titre;
$this->Texte=$Texte_Texte;

$requete="UPDATE Texte SET Texte_Titre ='$Titre', Texte_Texte='$Texte' WHERE ID_TEXTE = '$Id_Texte'";

$conn = new connexion_class();
$conn->requete($req);


}

public function afficher_Texte ($Id_Texte)
{


$req = "SELECT * FROM Texte WHERE ID_TEXTE = '$Id_Texte'";

$conn = new connexion_class();
$result = $conn->requete($req);


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

include_once 'newform.php';

}

}

}

$mon_test = new Texte();
$mon_test->afficher_Texte (0);


?>

newform.php
CODE
echo"<form method=\"POST\" action=\"test.php\" enctype=\"multipart/form-data\">";
echo"<table>";
echo" <tr>";
echo" <td colspan=\"2\">Titre du texte :<br /><input type=\"text\" name=\"text\" value=" . $row['TEXTE_TITRE'] . "><br /></td>";
echo" <td>";
echo" </td>";
echo" </tr>";
echo" <tr>";
echo" <td colspan=\"2\">Texte :<br /><textarea name=\"textarea\" cols=\"70\" rows=\"25\" />" . $row['TEXTE_TEXTE'] . "</textarea><br /></td>";
echo" <td>Auteur :<br />";
echo" <select name=\"select\">";
echo" <option value=\"Option 1\">Option 1</option>";
echo" <option value=\"Option 2\">Option 2</option>";
echo" <option value=\"Option 3\">Option 3</option>";
echo" </select><br /><br /><br />";
echo" Categorie :<br />";
echo" <select name=\"select\">";
echo" while()";
echo" <option value=\"Option 1\">Option 1</option>";
echo" <option value=\"Option 2\">Option 2</option>";
echo" <option value=\"Option 3\">Option 3</option>";
echo" </select><br /><br /><br />";
echo" Type :<br />";
echo" <select name=\"select\">";
echo" <option value=\"Option 1\">Option 1</option>";
echo" <option value=\"Option 2\">Option 2</option>";
echo" <option value=\"Option 3\">Option 3</option>";
echo" </select><br /><br /><br />";
echo" Theme :<br />";
echo" <select name=\"select\">";
echo" <option value=\"Option 1\">Option 1</option>";
echo" <option value=\"Option 2\">Option 2</option>";
echo" <option value=\"Option 3\">Option 3</option>";
echo" </select><br />";
echo" </td>";
echo" </tr>";
echo" <tr>";
echo" <td>Date de redaction :";
echo" <input type=\"text\" name=\"text\" value=" . $row['TEXTE_DATE_REDACTION'] . ">";
echo" </td>";
echo" <td>Modifié par:";
echo" <input type=\"text\" name=\"text\" value=" . $row['TEXTE_MODIFIER_PAR'] . ">";
echo" </td>";
echo" <td></td>";
echo" </tr>";
echo" <tr>";
echo" <td>Note :";
echo" <input type=\"text\" name=\"text\" value=" . $row['TEXTE_NOTE'] . ">";
echo" </td>";
echo" <td>Texte choisi :";
echo" Oui<input type=\"radio\" name=\"radio\" />";
echo" Non<input type=\"radio\" name=\"radio\" />";
echo" </td>";
echo" <td></td>";
echo" </tr>";
echo" <tr>";
echo" <td colspan=\"2\">Commentaire :";
echo" <input type=\"text\" name=\"text\" value=" . $row['TEXTE_COMMENTAIRE'] . ">";
echo" </td>";
echo" <td></td>";
echo" </tr>";
echo"<table>";
echo"</form>";


Merci D'avance. si vous voulez d'autre détails, n'hésitez pas.
Dan
Es-tu certain de ton "action=\"test.php\"" ? Parce-que ton fichier qui contient la classe s'appelle texte.php et non test.php ....

Assure-toi aussi de mettre les balises <?php et ?> dans le fichier contenant le formulaire ! Sans elles le code ne pourra pas être interprété.
dark_buitar
oui Dan smile.gif, l'action="test.php" n'a pas encore utilité, je n'ai aucun boutons dans mon formulaire pour le moment.

Test.php est la fonction qui verifiera les champs, et fera office de parseur dans de nombreux endrois.
Mais pour le moment, c comme si elle n'existait pas happy.gif

Voila un appercu de ce que cela me donne.

dark_buitar
C'est bon Dan, ne t'embete plus ... j'ai trouver et effectivement c'etait tres con...

j'explique quand meme happy.gif

Sur la premiere ligne du code de la deuxieme page "newform.php" on peut lire

CODE
echo"<form method=\"POST\" action=\"test.php\" enctype=\"multipart/form-data\">";


l'erreur se trouve ici : enctype=\"multipart/form-data\"

un simple "\" devant le "/ " a tout arranger.


CODE
echo"<form method=\"POST\" action=\"test.php\" enctype=\"multipart\/form-data\">";


Voila, merci encore et désolé de vous avoir embeter ... j'savais bien que c'etait une erreur à la con happy.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.