Modifier une news

flo4020 Messages postés 62 Statut Membre -  
flo4020 Messages postés 62 Statut Membre -
Bonjour à tous,

J'essaie de créer un fichier pour que d'autres personnes (avec accès sécurisé) puissent changer la base de données des news.
J'ai donc un fichier modifnews.php
<h1>Modifier :</h1><br />
<br />
  <table border="0">
    <tr>
      <td><h3>Titre</h3></td>
      <td><h3>Contenu</h3></td>
      <td></td>
    </tr>
    <tr>
  <?php
    $base = mysql_connect('*', '*', '*');  
 
    $db = mysql_select_db( "*" ) ;
	
mysql_query("SET NAMES UTF8"); 

    $sql = "SELECT * FROM News
	      ORDER BY id DESC LIMIT 0, 5" ;

    $requete = mysql_query( $sql, $base ) ;
 
    while( $result = mysql_fetch_object( $requete ) )
    {
       echo( '<form name="affichage" action="modif.php" method="POST">
  <input type="hidden" name="id" value="'.$id.') ;?>">
      <td >'.$result->titre.'</td>
      <td><textarea name="contenu" tabindex="28" rows="3" cols="60">'.$result->contenu.'</textarea></td>
	<td><input name="modifier" type="submit" value="Modifier"/></td>
    </tr>
    </table>
	   ') ;
 }
mysql_close();   
?>


Et donc mon fichier modif.php :
<?php 


include("../fonctions.php");	
$timestamp=date("y,m,d");

connectlaliegeoconf();

  $titre = $_POST['titre'] ;
  $contenu = $_POST['contenu'] ;

 $id = $_POST['id'] ;

mysql_query("SET NAMES UTF8"); 
                    
mysql_query("UPDATE News
            SET titre = '$titre', 
	          contenu = '$contenu'
			  WHERE id = '$id' ") or die ('Erreur de requête<br />'.$sql.'<br />'.mysql_error());  
 
mysql_close();
?>  


Mais ça ne fonctionne pas...

Merci de m'aider.

Bonne journée.

7 réponses

Mimiste Messages postés 1159 Statut Membre 206
 
quand tu fait

<input type="hidden" name="id" value="'.$id.') ;?>">

il sort d'ou ton $id ?
0
flo4020 Messages postés 62 Statut Membre 1
 
Merci de t'occupper de ce pb.

En fait je rappelle l'id de la bdd...
0
Mimiste Messages postés 1159 Statut Membre 206
 
ouai mais ton $id il est initialisé nulle part ?
Si c'est un tuple de la base ce serai pas plutôt $result->id ?
0
flo4020 Messages postés 62 Statut Membre 1
 
Je viens de me rendre compte qu'il y avait des erreurs de frappe.
Voilà la nouvelle ligne:
echo( '<form name="affichage" action="modif.php" method="POST"> 
 <input type="hidden" name="id" value="'.$result->id.'"> 
    <table> 
 <tr> 
 <td width="25"><textarea name="contenu" tabindex="28" rows="1" cols="20">'.$result->titre.'</textarea></td> 
    <td><textarea name="contenu" tabindex="28" rows="3" cols="60">'.$result->contenu.'</textarea></td> 
 <td><input name="modifier" type="submit" value="Modifier"/></td> 
    </tr> 
    </table> 
    ') ;


Mais ça ne marche toujours pas, je pense qu'il y a pun pb avec mon fichier modif.php, car je n'ai même pas de message d'erreur...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mimiste Messages postés 1159 Statut Membre 206
 
essai déjà de voir ce qu'il y a exactement dans ta requête

$sql = "UPDATE News SET titre = '$titre', contenu = '$contenu' WHERE id ='$id'";
echo $sql;

mysql_query($sql) or die ('Erreur de requête<br />'.$sql.'<br />'.mysql_error());


autre chose, dans ton formulaire, tu crée plusieurs formulaires qui ont le même nom sur la page (à la limite ça peut passer même si c'est à éviter). Par contre tu ne referme jamais la balise </form> ce qui imbrique en fait des formulaires dans des formulaires c'est pour ça que je me demande si il envoi bien ce que tu veux, et d'ou l'intérêt d'afficher la requête
0
flo4020 Messages postés 62 Statut Membre 1
 
MErci.
J'ai réglé les pb de fermeture de mon form (il n'y en a qu'un seul)

Dans ma requête, j'aimeai qu'il remplace ce qu'il y avait pour une id donnée par la nouvelle variable entrée dans le formlaire...

L'erreur ne s'inscrit toujours pas en plus...
0
flo4020 Messages postés 62 Statut Membre 1
 
Svp j'ai besoin d'aide, je n'ai toujours pas réussit à régler mon pb....
0