Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/07/2011, 11h57   #1
Invité régulier
 
Inscription : mars 2011
Messages : 138
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 138
Points : 5
Points : 5
Par défaut Générer une page web à partir d'un formulaire

Bonjour à tous

Je suis nouveau sur le forum , ce qui fait que je suis bloqué pour la réalisation de mon site ! je connais html et css, jai quelques bases en php qui me suffisent lorsqu’il ne s’agit que d’utiliser des scripts pré-écrits, mais la je ne trouve pas ce que je cherche !
Voila ce que j’aimerai faire : je voudrai créer des pages sur mon site, à partir d'un formulaire.
Je pensais créer un formulaire ou je tape le titre de la page, le contenu textuel, et des liens vers des images, vidéo....
Lorsque je validerais le formulaire, la page se générerait automatiquement, et les liens vers les images qu’il aurait choisi afficheraient ces images sur la page .

Comme j’ai l’impression de ne pas être bien clair je résume :

- Pour créer une page, on doit remplir un formulaire : le titre de sa page, le contenu textuel et un lien vers une image de mon choix.
- Lorsque je valide le formulaire, une page doit se générer de cette facon : le design que j'ai prédéfini, le titre de l'article, l'article, et l’image,les vidéos que j'ai choisi en donnant les lien.
- Si possible, je dois pouvoir modifier cette page.
Voilà, j’ai une idée bien précise de ce que je veux mais je suis complètement embrouillé pour la réalisation ! !
Si quelqu’un peut m’expliquer la marche à suivre, ou bien me donner ne serait-ce que des pistes de réflexion, je le remercie d’avance ! !
bennour.mohamed est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 13h05   #2
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 011
Points : 5 011
Hello

Tu devrais lire quelques tutos sur les formulaires et la manipulation de fichiers en PHP avant de te lancer.

L'idée serait de se servir d'un fichier de template tout bête dans lequel on irait remplacer des portions de textes (identifiées par %nom%). On à juste besoin de quelque lignes de code:

create.php
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
 
define('HTML_TEMPLATE', 'default.tmpl');
 
if (!file_exists(HTML_TEMPLATE))
	die( HTML_TEMPLATE . ' est manquant');
 
if (isset($_REQUEST['save'])) {
	$inputs = filter_input_array(INPUT_POST, array(
		'page_name' => FILTER_SANITIZE_ENCODED,
		'page_title' => FILTER_SANITIZE_ENCODED,
		'page_content' => FILTER_UNSAFE_RAW,
	));
 
	$buffer = file_get_contents(HTML_TEMPLATE);
	$buffer = str_replace(array('%title%', '%content%'), array($inputs['page_title'], $inputs['page_content']), $buffer);
	if (file_put_contents($path = "pages/{$inputs['page_name']}.html", $buffer))
		die('Fichier Créé: '. realpath($path));
	else
		die('Impossible de créer: ' . realpath($path));
}
 
?>
<form method="post">
	<label for="page_name">Nom de la page</label><input type="text" name="page_name" id="page_name" />
	<label for="page_title">Titre de la page</label><input type="text" name="page_title" id="page_title" />
	<label for="page_content">Contenu</label><textarea name="page_content" id="page_content"></textarea>
	<input type="submit" name="save" value="Créer" />
	<input type="reset" value="Reinitialiser" />
</form>
default.tmpl
Code :
1
2
3
4
5
6
7
8
9
10
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
		<title>%title%</title>
	</head>
	<body>
	%content%
	</body>
</html>
Et ça roule, a toi d'améliorer. Je te suggère de mettre un cleditor pour avoir plus de fonctionnalités d'édition à ton contenu.

Je te mets un zip en pj.
Fichiers attachés
Type de fichier : zip page_generator.zip (1,2 Ko, 8 affichages)
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2011, 10h12   #3
Invité régulier
 
Inscription : mars 2011
Messages : 138
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 138
Points : 5
Points : 5
Merci Benjamin,je vais l'essayer et je vous donne mes nouveautés
bennour.mohamed est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h26.


 
 
 
 
Partenaires

Hébergement Web