Probleme fopen

Probleme fopen - PHP - Programmation

Marsh Posté le 30-09-2009 à 20:17:21    

Bonjours,
 
Voila je souhaite pouvoir créer via un formulaire, une nouvelle page PHP sur le serveur contenant un code php que j'ai déjà créer.
 
Grâce au formulaire, je peux créer une page du nom que je veux qui contient mon code contenu dans la page article.php.
 
Mon problème est que j'ai quelques variables contenu dans mon code php de la page article.php qui doivent prendre la valeur du texte entré dans le formulaire lors de la création de la nouvelle page.
 
Je ne sais pas comment procéder pour faire cela, merci d'avance.
 
Ci dessous mon code PHP:
 

Citation :

 
<form method="post" action="index.php">
Nom de la nouvelle page (ex: fichier.php)<br/>
<input type="text" name="nouvelle_page"/><br/>
<input type="submit" name="bouton_nouvelle_page"/><br/>
</form>
 
<?php
$article = fopen("article.php","r" );
$article_chaine = fread($article, filesize("article.php" ));
fclose($article);
 
//Creation du fichier
$nouvelle_page = $_POST['nouvelle_page'];
if( $_POST['bouton_nouvelle_page'] == true)
{
 $mon_fichier=fopen($nouvelle_page,"w+" );
 if(!$mon_fichier)
 {
   echo "Erreur d'ouverture du fichier";
 }
 //Ecrire dans le fichier
 fwrite($mon_fichier,$article_chaine);
 //Fermeture du fichier
 fclose($mon_fichier);
 ?><script language="javascript">document.location.href="index.php";</script><?php
}
 

Reply

Marsh Posté le 30-09-2009 à 20:17:21   

Reply

Marsh Posté le 30-09-2009 à 20:24:01    

j'ai peur de ce que tu veux faire
 
pourquoi tu ne stocke pas en base de donnée tes articles ?


---------------

Reply

Marsh Posté le 30-09-2009 à 20:29:46    

La page article.php contient mon code permettant d'administré la nouvelle page en elle même. Ce n'est en aucun cas une page avec les données d'un articles.
 
Voila le code de ma page article.php:
(en faite j'ai besoins d'avoir une valeur différente de $champ_BDD et $adresse_page en fonction du nom de la page que je créer)
 

Citation :


<?php
require_once('bdd.php');
 
$texte= addslashes(stripslashes($_POST['article_page']));
if( $texte != "" )
{
mysql_query("UPDATE $champ_BDD SET texte='$texte' " ) or die('Erreur SQL !'.$sql.''.mysql_error());
}
 
?>
 
<form method="post" action="<?php echo $adresse_page; ?>">
 <p>  
  <textarea id="article_page" name="article_page" style="width:100%" rows="30" >
   
    <?php
    $resultat1 = mysql_query("SELECT * FROM $champ_BDD " ) or die('Erreur SQL !'.$sql.''.mysql_error());
    while($liste1 = mysql_fetch_array($resultat1))
    {
    $id1 = $liste_artistes1['id'];
    $article1 = $liste1['texte'];
    echo $article1;
    }
    ?>
   
  </textarea>
  <input type="submit" value="Envoyé" />
 </p>
</form>
 


Message édité par solarius le 30-09-2009 à 20:36:28
Reply

Marsh Posté le 30-09-2009 à 21:04:13    

J'ai trouvé la solution à mon problème.
Au lieu d'ouvrir article.php et de mettre le contenue du code de cette page dans une variable pour ensuite l'écrire dans une nouvelle page, j'ai directement mit le contenu de la page dans fwrite en mettant des antislash a chaque ' et en faisant de la concaténation pour les variables $adresse_page et $champ_BDD .

Reply

Marsh Posté le 30-09-2009 à 21:06:58    

et pourquoi ne pas avoir une page dynamique, avec juste les deux champs qui bougent ?


---------------

Reply

Marsh Posté le 30-09-2009 à 21:20:15    

Car je veux que une nouvelle page pour chaque article avec une URL "propre" que j'écris moi même.

Reply

Marsh Posté le 30-09-2009 à 21:23:00    

http://www.toto.com/index.php?acti [...] ticle=tata

 

puis réécriture d'URL

 

http://www.toto.com/adminArticle/tata.php

 

et là, c'est propre. Parcque qu'est ce qui va se passer quand tu voudra mettre à jour la page admin


Message édité par flo850 le 30-09-2009 à 21:23:31

---------------

Reply

Marsh Posté le 30-09-2009 à 21:36:48    

Ben mon script créer automatiquement une nouvelle page d'admin en faite.
Et sinon comment tu fais pour faire une réécriture de l'URL en fonction de ton article?
J'y connais rien en matière de réécriture d'URL.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed