Un formulaire qui genere une page php ( probleme )

Répondre
morgan.b
le 29/01/2010 à 20:33
morgan.b
Bonjour, j'ai créer un formulaire qui après validation me créer une page php. Le champ du formulaire sert a donner un titre a cette page.

Le problème, s'est que je voudrais que le contenu de cette page puisse être aussi modifier.

Je m'explique !!

Voici le code du formulaire, très simple il permet de choisir le titre de la page qui va être créer.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<HTML>
<HEAD>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<TITLE></TITLE>
<link href="style.css" rel="stylesheet" type="text/css" media="screen">
</HEAD>
<BODY>

<div id="wrap">

<h2>Titre</h2>
<br />
<form action="post.php" method="post">

<table border="0">
<tr><td>Titre : </td><td><input type="text" size="30" name="titre"/></td></tr>
<tr><td></td><td>
</td></tr>

<tr><td style="text-align: center" colspan="2">
<br /><input type="submit" name="creer" value="Envoyer"></td></tr>
</form>
</table>

</div>

</BODY>
</HTML>


Maintenant la page post.php qui créer la page avec le contenu.

<?php
$fp = fopen("{$_POST["titre"]}.php", 'w') ;
fwrite($fp, '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<script type="text/javascript" src="zoombox/jquery.js"></script>
<script type="text/javascript" src="zoombox/zoombox.js"></script>
<link rel="stylesheet" type="text/css" href="theme/style.css" />
<link href="zoombox/zoombox.css" rel="stylesheet" type="text/css" media="screen" />
</head>

<body>
<?php
$dos = "image/{$_POST["titre"]}/min";
$dir = opendir($dos);
while($file = readdir($dir)){
$allow_ext = array("jpg","png","gif");
$ext = strtolower(substr($file,-3));
if(in_array($ext,$allow_ext)){
?>
<div class="min">
<a href="image/{$_POST["titre"]}<?php echo $file; ?>" rel="zoombox[galerie]">
<img src="image/{$_POST["titre"]}/min/<?php echo $file; ?>"/>
<h3><?php echo $file; ?></h3>
</a>
</div>
<?php
}
}
?>
</body>
</html>') ;
fclose($fp) ;
?>


Bon sa fonctionne, on entre dans le formulaire le titre de la page que l'on veut et go la page se créer avec le bon titre.

Là ou sa pose problene, c'est au niveau de la page post.php les lignes 16, 24 et 25.

L'Information ne se met pas jour, je devrais obtenir un chemin avec le titre que j'ai donner à la page, mais non sa ne bouge pas et le morceau {$_POST["titre"]} reste là.

Voilà un peu d'aide, s'il vous plait. Merci à tous.
morgan
LA GLOBULE
le 29/01/2010 à 23:44
LA GLOBULE
Tu as juste un problème de concaténation.

C'est comme si tu faisais un echo 'blublub $_POST["toto"] rejigijr';
Alors qu'il faut faire echo 'blublub '.$_POST["toto"].' rejigijr';

Bref place des quotes dans ton code.
morgan.b
le 30/01/2010 à 06:56
morgan.b
Merci pour ton aide La globule, mais non sa ne fonctionne pas.

Si je remplace par :(ligne 15)

$dos = 'image/'.$_POST["titre"].'/min';

J'obtiens :

Parse error: syntax error, unexpected T_STRING in C:\Wamp\www\test\post.php on line 15


Si je remplace par :(ligne 15)

$dos = 'image/'.$_POST["titre"].'/min';

J'obtiens :

Parse error: syntax error, unexpected T_STRING in C:\Wamp\www\test\post.php on line 15
morgan
morgan.b
le 30/01/2010 à 08:11
morgan.b
Bien en cherchant un peu j'ai trouver et grâce au conseil de LA GLOBULE, sa fonctionne déjà bien mieux.

Mais problème encore. Primo voici une partie de la solution encore presque fausse pour la page post.php :

<?php
$dos = \'galerie/'.$_POST["titre"].'/min\';
$dir = opendir($dos);
while($file = readdir($dir)){
$allow_ext = array("jpg","png","gif");
$ext = strtolower(substr($file,-3));
if(in_array($ext,$allow_ext)){
?>
<div class="min">
<a href="\'galerie/'.$_POST["titre"].'\'<?php echo $file; ?>" rel="zoombox[galerie]">
<img src="\'galerie/'.$_POST["titre"].'/min/\'<?php echo $file; ?>"/>
<h3><?php echo $file; ?></h3>
</a>
</div>
<?php
}
}
?>


Le soucis est le resultat :

<?php
$dos = 'galerie/Galerie A/min';
$dir = opendir($dos);
while($file = readdir($dir)){
$allow_ext = array("jpg","png","gif");
$ext = strtolower(substr($file,-3));
if(in_array($ext,$allow_ext)){
?>
<div class="min">
<a href="'galerie/Galerie A'<?php echo $file; ?>" rel="zoombox[galerie]">
<img src="'galerie/Galerie A/min/'<?php echo $file; ?>"/>
<h3><?php echo $file; ?></h3>
</a>
</div>
<?php
}
}
?>


Au niveau du lien a href et du img src= , il y a des guillemet en trop qui rende le lien invalide !!!!!!!!!!

HELP, et merci à tous ++++
morgan
LA GLOBULE
le 30/01/2010 à 12:26
LA GLOBULE
Ben enlève les quotes en trop que tu as ajoutés :S
Elles n'y étaient pas dans ton premier message, et tu les as ajouté.

Tu m'as l'air un peu perdu avec ces quotes, je te suggère de relire le cours sur la concaténation ainsi que celui qui explique comment afficher une variable.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours