Verification après modification

Toutes les questions et les aides qui concernent le langage PHP
Avatar de l’utilisateur
ColdFusion
Tutomaker Apprenti
Tutomaker Apprenti
 
Messages: 56
Enregistré le: Mar Juin 26, 2007 5:43 pm
Localisation: Martinique

Verification après modification

Messagepar ColdFusion le Ven Déc 07, 2007 6:48 pm

Bon alors j'ai ajouter une partie categorie dans mon code afin de pouvoir répartir mes news donc je voudrai savoir si il est bien fait parce que je fais toujours une faute bête donc bon ... voila merci d'avance

liste_news.php:
Code: Tout sélectionner
<? mysql_connect($dbhost,$dblogin,$dbpassword);
mysql_select_db($dbname);
//-----------------------------------------------------
// Vérification 1 : est-ce qu'on veut poster une news ?
//-----------------------------------------------------
if (isset($_POST['titre']) AND isset($_POST['contenu'])) AND isset($_POST['categorie']))
{
    
$titre addslashes($_POST['titre']);
    
$contenu addslashes($_POST['contenu']);
    
$categorie addslashes($_POST['categorie']);
    
// On vérifie si c'est une modification de news ou pas
    
if ($_POST['id_news'] == 0)
    {
        
// Ce n'est pas une modification, on crée une nouvelle entrée dans la table
        
mysql_query("INSERT INTO news VALUES('', '" $titre "', '" $contenu "','" $categorie "', '" time() . "')");
    }
    else
    {
        
// On protège la variable "id_news" pour éviter une faille SQL
        
$_POST['id_news'] = addslashes($_POST['id_news']);
        
// C'est une modification, on met juste à jour le titre et le contenu
        
mysql_query("UPDATE news SET titre='" $titre "', contenu='" $contenu "', categorie='" $categorie "' WHERE id='" $_POST['id_news'] . "'");
    }
}
 
//--------------------------------------------------------
// Vérification 2 : est-ce qu'on veut supprimer une news ?
//--------------------------------------------------------
 
if (isset($_GET['supprimer_news'])) // Si on demande de supprimer une news
{
    
// Alors on supprime la news correspondante
    // On protège la variable "id_news" pour éviter une faille SQL
    
$_GET['supprimer_news'] = addslashes($_GET['supprimer_news']);
    
mysql_query('DELETE FROM news WHERE id=\'' $_GET['supprimer_news'] . '\'');
}
?>
<table><tr>
<th>Modifier</th>
<th>Supprimer</th>
<th>Titre</th>
<th>Date</th>
<th>Categorie</th>
</tr>
<?php
$retour 
mysql_query('SELECT * FROM news ORDER BY id DESC');
while (
$donnees mysql_fetch_array($retour)) // On fait une boucle pour lister les news
{
?>
<tr>
<td><?php echo '<a href="rediger_news.php?modifier_news=' $donnees['id'] . '">'?>Modifier</a></td>
<td><?php echo '<a href="liste_news.php?supprimer_news=' $donnees['id'] . '">'?>Supprimer</a></td>
<td><?php echo stripslashes($donnees['titre']); ?></td>
<td><?php echo date('d/m/Y'$donnees['timestamp']); ?></td>
<td><?php echo stripslashes($donnees['categorie']); ?></td>
</tr>


rediger_news.php
Code: Tout sélectionner

<? if (isset($_GET['modifier_news'])) // Si on demande de modifier une news
{
    
// On protège la variable "modifier_news" pour éviter une faille SQL
    
$_GET['modifier_news'] = mysql_real_escape_string(htmlspecialchars($_GET['modifier_news']));
    
// On récupère les infos de la correspondante
    
$retour mysql_query('SELECT * FROM news WHERE id=\'' $_GET['modifier_news'] . '\'');
    
$donnees mysql_fetch_array($retour);
   
    
// On place le titre et le contenu dans des variables simples
    
$titre stripslashes($donnees['titre']);
    
$contenu stripslashes($donnees['contenu']);
    
$categorie stripslashes($donnees['categorie']);
    
$id_news $donnees['id']; // Cette variable va servir pour se souvenir que c'est une modification
}
else 
// C'est qu'on rédige une nouvelle news
{
    
// Les variables $titre et $contenu et $categorie sont vides, puisque c'est une nouvelle news
    
$titre '';
    
$contenu '';
    
$categorie '';
    
$id_news 0// La variable vaut 0, donc on se souviendra que ce n'est pas une modification
}
?>
<form action="liste_news.php" method="post">
<p>Titre : <input type="text" size="30" name="titre" value="<?php echo $titre?>" /></p>
<p>Categorie : <input type="text" size="30" name="categorie" value="<?php echo $categorie?>" /></p>
<p>
    Contenu :<br />
    <textarea name="contenu" cols="50" rows="10">
    <?php echo $contenu?>
    </textarea><br />
   
    <input type="hidden" name="id_news" value="<?php echo $id_news?>" />
    <input type="submit" value="Envoyer" />
</p>
</form>

Avatar de l’utilisateur
Yoyo
Gérant
Gérant
 
Messages: 2031
Enregistré le: Mer Sep 27, 2006 4:54 pm

Messagepar Yoyo le Ven Déc 07, 2007 6:56 pm

Tu es mieux placé que moi pour voir s'il fonctionne non ? Test le sur ton hébergement et reviens si ca ne marche pas avec les codes d'erreurs appropriés.
Vive les tutomakers ;)

Avatar de l’utilisateur
ColdFusion
Tutomaker Apprenti
Tutomaker Apprenti
 
Messages: 56
Enregistré le: Mar Juin 26, 2007 5:43 pm
Localisation: Martinique

Messagepar ColdFusion le Ven Déc 07, 2007 7:05 pm

ok je test et je te dis ...

Avatar de l’utilisateur
Yoyo
Gérant
Gérant
 
Messages: 2031
Enregistré le: Mer Sep 27, 2006 4:54 pm

Messagepar Yoyo le Ven Déc 07, 2007 7:06 pm

Oké :) C'est plus facile d'aider par petit bout de code :)
Vive les tutomakers ;)

Avatar de l’utilisateur
ColdFusion
Tutomaker Apprenti
Tutomaker Apprenti
 
Messages: 56
Enregistré le: Mar Juin 26, 2007 5:43 pm
Localisation: Martinique

Messagepar ColdFusion le Ven Déc 07, 2007 7:08 pm

J'y crois pas ! ça marche sur la page d'accueil, pareil pour Hardware. Seul petit problème: le timestamp est pas normal :(

Avatar de l’utilisateur
Yoyo
Gérant
Gérant
 
Messages: 2031
Enregistré le: Mer Sep 27, 2006 4:54 pm

Messagepar Yoyo le Ven Déc 07, 2007 7:15 pm

Oue le timestamp s'affiche mal formaté en date ? je vois pas le souci avec la catégorie ^^

Montre voir juste le code avec le timestamp qui pose problème
Vive les tutomakers ;)

Avatar de l’utilisateur
ColdFusion
Tutomaker Apprenti
Tutomaker Apprenti
 
Messages: 56
Enregistré le: Mar Juin 26, 2007 5:43 pm
Localisation: Martinique

Messagepar ColdFusion le Ven Déc 07, 2007 7:16 pm

Ba ça fait bizarre de voir un 01/01/1970 :P

Avatar de l’utilisateur
Yoyo
Gérant
Gérant
 
Messages: 2031
Enregistré le: Mer Sep 27, 2006 4:54 pm

Messagepar Yoyo le Ven Déc 07, 2007 7:20 pm

Donne le code, va voir les valeurs dans la base de données, regarde comment tu enregistres le timestamp et comment tu l'affiches :)
Vive les tutomakers ;)

Avatar de l’utilisateur
ColdFusion
Tutomaker Apprenti
Tutomaker Apprenti
 
Messages: 56
Enregistré le: Mar Juin 26, 2007 5:43 pm
Localisation: Martinique

Messagepar ColdFusion le Ven Déc 07, 2007 8:02 pm

Voici la partie qui concerne le timestamp:

Code: Tout sélectionner
<?php
      
if (isset($_GET['page']))
      {
              
$page intval($_GET['page']);
      }
      else
      {
              
$page 1;
      }
      
$premierMessageAafficher = ($page 1) * $nombreDeMessagesParPage;
      
$reponse mysql_query('SELECT * FROM news WHERE categorie="hardware" ORDER BY id DESC LIMIT ' $premierMessageAafficher ', ' $nombreDeMessagesParPage);
      while (
$donnees mysql_fetch_array($reponse))
      {
              echo 
'<div class="global1"><h2>' $donnees['titre'] . '</h2><p>' nl2br(stripslashes($donnees['contenu'])) . '</p>';
           echo 
'<h6>le'.date('d/m/Y à H\hi'$donnees['timestamp']).'</h6></div>';
      }
      
mysql_close();
      
?>

Avatar de l’utilisateur
Yoyo
Gérant
Gérant
 
Messages: 2031
Enregistré le: Mer Sep 27, 2006 4:54 pm

Messagepar Yoyo le Ven Déc 07, 2007 8:10 pm

Ben c'est que tu n'as pas de bons timestamps dans ta base de données :)
Vive les tutomakers ;)

Avatar de l’utilisateur
ColdFusion
Tutomaker Apprenti
Tutomaker Apprenti
 
Messages: 56
Enregistré le: Mar Juin 26, 2007 5:43 pm
Localisation: Martinique

Messagepar ColdFusion le Ven Déc 07, 2007 8:12 pm

:( et comment j'en met des bons ?

Avatar de l’utilisateur
Yoyo
Gérant
Gérant
 
Messages: 2031
Enregistré le: Mer Sep 27, 2006 4:54 pm

Messagepar Yoyo le Ven Déc 07, 2007 10:52 pm

ben il faut ajouter le timestamp lors de la requete INSERT INTO :)

tu peux utiliser la fonction time() qui contient la date actuelle en format timestamp !
Vive les tutomakers ;)

Avatar de l’utilisateur
Valbuena72
Tutomaker Avancé
Tutomaker Avancé
 
Messages: 227
Enregistré le: Dim Avr 06, 2008 2:58 pm

Re: Verification après modification

Messagepar Valbuena72 le Mer Juil 02, 2008 8:38 am

c'est pas le code du sdz ça ? :mrgreen:

Avatar de l’utilisateur
Yoyo
Gérant
Gérant
 
Messages: 2031
Enregistré le: Mer Sep 27, 2006 4:54 pm

Re: Verification après modification

Messagepar Yoyo le Mer Juil 02, 2008 12:04 pm

Si on dirait :D Bien vu lesloups :D
Vive les tutomakers ;)

Avatar de l’utilisateur
Valbuena72
Tutomaker Avancé
Tutomaker Avancé
 
Messages: 227
Enregistré le: Dim Avr 06, 2008 2:58 pm

Re: Verification après modification

Messagepar Valbuena72 le Mer Juil 02, 2008 12:06 pm

j'aurai eu raison une fois dans ma vie coté php/bdd :mrgreen: :bigboulay:



Retourner vers Langage PHP

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 3 invités