Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1771 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  modification d'une table [PROBLEME]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

modification d'une table [PROBLEME]

n°928744
wasa131313
Posté le 21-12-2004 à 00:28:03  profilanswer
 

Voila , bonjour à tous... je poste ici car g un gros problème qui dure deja depuis 1 semaine (et croyez moi que 1 semaine sur le même prob de mer** c'est long  :( )...
 En fait g les deux pages suivantes
 
page 1 : liste des news
 

Code :
  1. <?php
  2. if ( isset ($_SESSION['statut']))
  3.   {
  4.   $statut=$_SESSION['statut'] ;
  5.   if ($statut=='admin' OR $statut=='newseur')
  6.     {
  7.      //Initialisation de la variables $infos
  8.      $infos = '';
  9.      //Pour savoir si le fichier a été uploadé, on vérifie que le       fichier est bien dans le tableau des fichiers
  10.         if (!empty($_FILES['fichier1']['size']))
  11.          {
  12.          //On récupère la taille, le nom et le nom du fichier temporaire
  13.          $f1_size = $_FILES['fichier1']['size'];
  14.          $f1_name = $_FILES['fichier1']['name'];
  15.          $f1_tmpname = $_FILES['fichier1']['tmp_name'];
  16.        //Récupération de l'extension du fichier (on prend ce qui suit le  dernier point et on le met en minuscule
  17.         $ext = strtolower(substr($f1_name,strrpos($f1_name, "." )+1));
  18.        //Création du tableau des extensions acceptées
  19.         $valides = array("bmp","jpg","gif","png","tif","wbmp" );
  20.        //On vérifie la taille et le type de fichier
  21.       if ($f1_size > 1000000) $infos .= "- Le fichier est trop   volumineux!<br>n";
  22.       if (!in_array($ext,$valides)) $infos .= "- Ce type de fichier n'est pas accepté!<br>n";
  23.        //Si tout est bon (aucune erreur dans $infos), on déplace le fichier
  24.        if ($infos == '')
  25.        {
  26.         move_uploaded_file($f1_tmpname, "../img/{$f1_name}" );
  27.        echo "<script>alert('Le fichier a bien été enregistré');  document.location.href='InfoPSG_administration_news.php'; </script>
  28.    exit();";
  29.         }
  30.       else
  31.        {
  32.        $infos = "- Impossible d'enregistrer le fichier, contacter le   webmaster!<br>n";
  33.        }
  34.       //on crée la variable adresse de l'image enregistrée
  35.       $chemin='img/'.$f1_name;
  36.       $photo= $chemin;
  37.        }
  38.        mysql_connect("localhost", "root", "" );
  39.        mysql_select_db("infopsg" );
  40. if (isset($_POST['titre']) AND isset($_POST['contenu'])  AND isset($_POST['chapeau']) AND isset($photo)  AND isset ($_POST['source']) )
  41. $_POST['contenu']=addslashes($_POST['contenu']);
  42. $_POST['titre']=addslashes($_POST['titre']);
  43. $_POST['chapeau']=addslashes($_POST['chapeau']);
  44. $_POST['source']=addslashes($_POST['source']);
  45.        if ($_POST['id'] == 0)//si c une nouvelle news   
  46.        {
  47.         mysql_query ("INSERT INTO news VALUES('' ,'".$_POST['titre']."', '". $_POST['chapeau'] . "', '". $_POST['contenu'] ."', '". $photo ."', '".$_POST['source']."' , '".time()."')" );
  48. }
  49.        else // sinon on met à jour  une news
  50.         { 
  51.   mysql_query("UPDATE news SET titre='".$_POST['titre']."', chapeau= '". $_POST['chapeau'] ."', contenu= '". $_POST['contenu'] ."' , lien photo= '".$photo."' , source= '".$_POST['source']."' WHERE id=".$_POST['id']);
  52.         }
  53. }
  54. if (isset($_GET['supprimer_news'])) // Si on demande de supprimer un compte
  55. {
  56.     // on supprime la news correspondante
  57.     mysql_query('DELETE FROM news WHERE id='.$_GET['supprimer_news'].'') ;
  58. }
  59. ?>
  60. <p><h3><a href="InfoPSG_administration_ajouternews.php">Ajouter une news</a></h3></p>
  61. <p><h3><a href="InfoPSG_administration_actualité.php">Retour au menu actualité</a></h3></p>
  62. <br/>
  63. <p>
  64. <table>
  65. <tr>
  66. <th>Modifier</th>
  67. <th>Supprimer</th>
  68. <th>titre</th>
  69. <th>chapeau</th>
  70. </tr>
  71. </p>
  72. <?php
  73. $retour = mysql_query('SELECT * FROM news ORDER BY id DESC');
  74. while ($donnees = mysql_fetch_array($retour))
  75. {
  76. ?>
  77. <tr>
  78. <td><? echo '<a href="InfoPSG_administration_ajouternews.php?modifier_news='. $donnees['id'] . ' ">'; ?>Modifier</a></td>
  79. <td><? echo '<a href="InfoPSG_administration_news.php?supprimer_news='. $donnees['id'] . ' ">'; ?>Supprimer</a></td>
  80. <td><? echo $donnees['titre']; ?></td>
  81. <td><? echo $donnees['chapeau']; ?></td>
  82. </tr>
  83. <?php
  84.   } // Fin de la boucle qui liste les news
  85.   mysql_close();
  86. }
  87. else
  88. {
  89.   echo "<script>alert('Vous n'êtes pas autorisé à accéder à cette partie  du site'); document.location.href='InfoPSG_administration_menu.php'; </script>
  90.    exit();";
  91. }
  92. }
  93. else 
  94. {
  95. echo "<script>alert('Vous n'êtes pas autorisé à accéder à cette partie du site'); document.location.href='InfoPSG_administration_identification.php'; </script>
  96.    exit();";
  97. }
  98. ?>


 
et une seconde page  
page 2 : ajout de news

Code :
  1. <?php
  2. if (isset ($_SESSION['statut']))
  3. {
  4. $statut0=$_SESSION['statut'] ;
  5. if ($statut0=='admin' OR $statut0=='newseur')
  6. {
  7. ?>
  8. <h3><a href="InfoPSG_administration_news.php">Retour à la liste des  news</a></h3>
  9. <?php
  10. mysql_connect("localhost", "root", "" );
  11. mysql_select_db("infopsg" );
  12.    if (isset($_GET['modifier_news'])) 
  13.    {
  14.     $retour = mysql_query('SELECT * FROM news WHERE id='. $_GET['modifier_news'] );
  15.     $donnees = mysql_fetch_array($retour);
  16.    
  17.     $titre = $donnees['titre'];
  18.     $chapeau = $donnees['chapeau'];
  19.     $id = $donnees['id']; 
  20. $contenu=$donnees['contenu'];
  21. $source=$donnees['source'];
  22. $photo=$donnees['lien photo'];
  23.    }
  24. else // C'est qu'on crer une nouvelle news
  25. {
  26.     $titre = '';
  27.     $chapeau = '';
  28. $contenu='';
  29. $source='';
  30. $photo='';
  31. $id = 0; // La variable vaut 0, donc on se souviendra que ce n'est pas une modification
  32. }
  33. mysql_close();
  34. ?>
  35. <form action="InfoPSG_administration_news.php" method="post" enctype="multipart/form-data">
  36. <p>titre : <input type='text' size='30' name='titre' value='<? echo $titre; ?>' /></p>
  37. <p>chapeau :<textarea name='chapeau'  cols='40' rows='5'>
  38. <? echo  $chapeau; ?>
  39. </textarea>
  40. </p>
  41. <br/>
  42. <p> contenu :<textarea name='contenu'  cols='50' rows='10'>
  43. <? echo $contenu; ?>
  44. </textarea></p>
  45. <br/>
  46. <p>Fichier: <input type='file' name='fichier1' /></p>
  47. <br/>
  48. <p>source : <input type='text' name='source' value='<?php echo $source; ?>'/></p>
  49. <br/>
  50. <p>
  51.     <input type='hidden' name='id' value=' <?echo $id;?>' />
  52.     <input type='submit' value='Valider' />
  53. </p>
  54. </form>
  55. <?php
  56. }
  57. else
  58. {
  59. echo "<script>alert('Vous n'êtes pas autorisé à accéder à cette partie du site'); document.location.href='InfoPSG_administration_menu.php'; </script>
  60.    exit();";
  61. }
  62. }
  63. else
  64. {
  65. echo "<script>alert('Vous n'êtes pas autorisé à accéder à cette partie du site'); document.location.href='InfoPSG_administration_identification.php'; </script>
  66.    exit();";
  67. }
  68. ?>


 
et le gros problème c que lorsque je veux modifier une news sur la page une, je clique sur le lien (jusque là tout se passe bien) j'arrive donc sur la page 2 et je remplace ce qui m'intérresse , mais lorsque je clique sur "valider" et que je reviens sur la page 1 , aucune mise à jour ne s'est faite dans la table, et la news ne s'est pas modifiée  :cry:  
 
Alors si une ame charitable pouvais m'aider je lui en serai trés reconnaissant :ange:  ( c que je suis pas un pro du php moi   :pfff: :non: )


Message édité par wasa131313 le 21-12-2004 à 12:39:08
mood
Publicité
Posté le 21-12-2004 à 00:28:03  profilanswer
 

n°928751
Xav_
The only one...
Posté le 21-12-2004 à 00:36:30  profilanswer
 

et si tu fait un print de tes requetes avant avant l'exécution, elles paraissent correctes ???


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°928988
wasa131313
Posté le 21-12-2004 à 11:13:40  profilanswer
 

ben en fait ce qui est étrange c que lorsque je demande de supprimer une news ca marche parfaitement , quand je demande de la modifier et ben les cases du formulaire sont remplies par le contenu de la news (donc c bien que çà marche) mais quand je renvoie les donnees , ben elles ne s'inscrivent pas dans la base :S

n°929002
wasa131313
Posté le 21-12-2004 à 11:25:08  profilanswer
 

sinon pour répondre à ta question , je viens de tester avec un "echo"pour voir  si les variables POST était renvoyer , aprés la modification, à la page 1 "liste des news" , et je viens de me rendre compte que ces variables n'était PAS renvoyées car la fonction "echo" n'affiche rien et en plus une erreur de ce genre m'apparaît pour chaque variable POST que g voulu afficher :
 
"Notice: Undefined index: source in c:\documents and settings\mme allain\mes documents\infopsg-xtml-versionie\infopsg-xtml-versionie\administration\infopsg_administration_news.php on line 60"
 
merci de m'aider , ce serai super coool

n°929031
bob007
Posté le 21-12-2004 à 11:38:56  profilanswer
 

undefined index, ca veut dire que ta variable source n'existe pas, n'est pas définie.

n°929062
Xav_
The only one...
Posté le 21-12-2004 à 12:01:40  profilanswer
 

ton code me fait un peu mal au crâne, tu pourrais pas éditer pour le mettre entre des balises (cpp) et indenter un peu STP....


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°929081
wasa131313
Posté le 21-12-2004 à 12:26:42  profilanswer
 

voila g indenté un peu mieux, mais ca rend mal sur le forum  :jap:


Message édité par wasa131313 le 21-12-2004 à 12:28:24
n°929089
sielfried
Posté le 21-12-2004 à 12:31:56  profilanswer
 

[ cpp ]ton code[ /cpp ], sans les espaces dans les balises.


Message édité par sielfried le 21-12-2004 à 12:32:23

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°929097
wasa131313
Posté le 21-12-2004 à 12:39:44  profilanswer
 

Sielfried a écrit :

[ cpp ]ton code[ /cpp ], sans les espaces dans les balises.


 ah oui merci , c vrai que c plus jolie  :lol:

n°929154
Xav_
The only one...
Posté le 21-12-2004 à 13:55:17  profilanswer
 

merci, ç'est déjà nettement plus regardable, on va essayer de trouver ce qui merde maintenant ;)


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
mood
Publicité
Posté le 21-12-2004 à 13:55:17  profilanswer
 

n°929159
titione
addicted
Posté le 21-12-2004 à 14:08:14  profilanswer
 

Code :
  1. $_POST['contenu']=addslashes($_POST['contenu']);


 
déjà ça, ça va pas... tu ne peux pas affecter une variable à un POST... donc c'est à revoir.. je continue à regarder le reste

n°929164
wasa131313
Posté le 21-12-2004 à 14:11:53  profilanswer
 

titione a écrit :

Code :
  1. $_POST['contenu']=addslashes($_POST['contenu']);


 
déjà ça, ça va pas... tu ne peux pas affecter une variable à un POST... donc c'est à revoir.. je continue à regarder le reste


 
bon be je vais deja rectifier çà , merci... ;)

n°930038
wasa131313
Posté le 22-12-2004 à 14:17:25  profilanswer
 

wasa131313 a écrit :

bon be je vais deja rectifier çà , merci... ;)


 
ben ca change rien cette modification  :(  

n°930134
ratibus
Posté le 22-12-2004 à 16:17:18  profilanswer
 

titione a écrit :

Code :
  1. $_POST['contenu']=addslashes($_POST['contenu']);


 
déjà ça, ça va pas... tu ne peux pas affecter une variable à un POST... donc c'est à revoir.. je continue à regarder le reste


Faut tester avant d'affirmer quelquechose de faux :)

n°930136
Profil sup​primé
Posté le 22-12-2004 à 16:21:13  answer
 

ouais je sais pas si c'est impossible, apres tout $_POST n'est qu'un array [:spamafote]

n°930143
ratibus
Posté le 22-12-2004 à 16:28:57  profilanswer
 

C'est tout à fait possible :D
 

Code :
  1. <?php
  2. print_r($_POST);
  3. $_POST['test'] = 'toto';
  4. print_r($_POST);
  5. ?>

n°930145
wasa131313
Posté le 22-12-2004 à 16:30:02  profilanswer
 

mais vous voyez pas ce qui merde dans mon code??? :(  :(  :(  :(


Message édité par wasa131313 le 22-12-2004 à 16:30:13
n°930151
ratibus
Posté le 22-12-2004 à 16:35:48  profilanswer
 

Teste déjà les retour des fonctions mysql_*


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  modification d'une table [PROBLEME]

 

Sujets relatifs
Problème de script PHP MySQLProbleme: Glob() et la sentivite de la casse
[C] Probleme avec Cygwin et Ncurses[résolu] Problème de validation XHTML
Problème formulairetopic unique : problème d'images sur une application serveur ?
Probleme upload image avec IEExploitation d'une table attachée à mes contacts Outlook
Problème syntaxique de définition de template pour une fonction membreProblème modification de taille du champ d'une table en postgresQL.
Plus de sujets relatifs à : modification d'une table [PROBLEME]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR