IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Souci à l'envoi de message dans MySQL


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 31
    Points : 20
    Points
    20
    Par défaut Souci à l'envoi de message dans MySQL
    Bonjour

    Je suis confronté au fait que mon code inspiré d'un tuto sur une news ne s'exécute pas ou du moins il y a aucun message qui s'écrit dans la base de données. J'ai encodé trois fichiers: indexnews.php, listnews.php et redirectnews.php. Les pages s'affichent correctement avec les liens. Mais j'ai aucun résultat. Pour alleger mon post, j'ai préféré donner le code du fichier qui inscrit les données dans la base de données.
    Code du fichier listnews.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    	  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"  xml:lang="fr">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    <title> Mis en oeuvre d'une News </title>
    <link href="tutosdesign.css" rel="stylesheet" 
    media="screen, handheld, tv, projection" type="text/css"  title="designTutos"  />
    </head>
    <body>
    <h3><a href="redirectnews.php"><u>Ajouter une news</u></a></h3>	
     
    <?php
    // Accès à la base de données : 
    include('functions.php');
    connexion()_to_dB;
    // Vérification 1 : est-ce qu'on veut poster une news ?
    if(isset($_POST['pseudo']) && isset($_POST['titre']) && (isset($_POST['message'])))
    {
    	$pseudo = addslashes($_POST['pseudo']);
    	$titre = addslashes($_POST['titre']);
    	$message = addslashes($_POST['message']);
    	$time = time();
    	$timestamp_init = time();
    	$timestamp_modif = date('d/m/Y', $timestamp_init);
    	// Verification pour une modificationde de la news : 
    	// 1) Ajout d'une nouvelle entrée'
    	if($_POST['idnews'] == 0)
    	{
    		// Ce n'est pas une modification, on crée une nouvelle entrée dans la table
    		/*mysql_query("INSERT INTO news VALUES($pseudo,$titre, $message,$time,$timestamp_modif)")
    		or die ('Probleme de la RQT INSERT dans listnews'. mysql_error());*/
    		mysql_query("INSERT INTO news VALUES('" . $pseudo . "', '" . $titre . "', 
    	'" . $message . "', '" . $time . "', '" . $timestamp_modif . "',)")
    		 or die ('Probleme de la RQT INSERT dans listnews'. mysql_error());		
    	}
    	else
    	{	
    		// C'est une modification, on modifie le champ id correspondant dans la table
    		// On protège la variable "idnews" pour éviter une faille SQL
    		$_POST['idnews'] = addslashes($_POST['idnews']);
    		mysql_query("UPDATE INTO news SET titre='" . $titre."',
    		message='" .$message. "'WHERE id = '" . $_POST['idnews']. "'") 
    		or die ('Probleme de la RQT UPDATE dans indexnews'. mysql_error());	
    	}
    	// Verification pour une suppression de la news : 
    	if(isset($_GET['suppression_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['suppression_news'] = addslashes($_GET['suppression_news']);
    		mysql_query('DELETE FROM news  WHERE id=\''. $_GET['suppression_news'].'\'') 
    		or die ('Probleme de la RQT DELET dans indexnews'. mysql_error());
    		}
    	}	
    	?>
    	<table>
    		<!--<caption></caption> -->
    		<tr>
    			<td><b>Modification</b></td>
    			<td><b>Suppression</b></td>
    			<td><b>Titre</b></td>
    			<td><b>Date</b></td>
    		</tr>
    	<?php
    		$select_rqst = mysql_query('SELECT * FROM news ORDER BY id DESC') 
    		or die ('Probleme de la RQT SELECT-bis dans indexnews'. mysql_error());
    		while($content = mysql_fetch_array($select_rqst))
    		{
    	?>
    	<tr>
    		<td><?php echo '<a href="redirectnews.php?modification_news= '. $content['id']. '">';?>Modification</a></td>
    		<td><?php echo '<a href "listnews.php?suppression_news = ' . $content['id'] . '">';?>Suppression</a></td>
    		<td><?php echo stripslashes($content['titre']); ?></td>
    		<td><?php echo date('d/m/Y', $content['timestamp']); ?></td>
    	</tr>
    	<?php
    	}	 // Fin de la boucle qui liste les news
    ?>
    	</table>		
    	</body>
    </html>
    Dans le bloc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if($_POST['idnews'] == 0)
    {
    mysql_query("INSERT INTO news VALUES($pseudo,$titre, $message,$time,$timestamp_modif)") or die ('Probleme de la RQT INSERT dans listnews'. mysql_error());
    /*mysql_query("INSERT INTO news VALUES('" . $pseudo . "', '" . $titre . "', 
    	'" . $message . "', '" . $time . "', '" . $timestamp_modif . "',)")
    	 or die ('Probleme de la RQT INSERT dans listnews'. mysql_error());*/		
    }
    avec toutes les deux versions( celles commentée et non commentée ) j'ai le même problème:
    Probleme de la RQT INSERT dans listnewsYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'a la technologie novatrice de Google, gardez les courriers indésirables a distan' at line 1

    Je ne comprends pas ce qui fait que je n'obtiens pas le bon résultat.Est-ce que le problème viendrait de la manière dont je stocke les dates?

    Merci pour l'attention de chacun.

  2. #2
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Points : 5 673
    Points
    5 673
    Par défaut
    Bonjour,

    Tu as une virgule en trop à la fin après $timestamp_modif :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    if($_POST['idnews'] == 0)
    {
     
    mysql_query("INSERT INTO news VALUES(
                '" . $pseudo . "', 
                '" . $titre . "', 
                '" . $message . "', 
                '" . $time . "', 
                '" . $timestamp_modif . "',
                )")or die ('Probleme de la RQT INSERT dans listnews'. mysql_error()); 
    }

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 31
    Points : 20
    Points
    20
    Par défaut Souci à l'envoi de message dans MySQL-Problème avec la RQT INSERT
    Merci bien.

    J'ai corrigé l'erreur de la virgule en trop. Maintenant voici le message d'erreur que j'obtiens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    Strict Standards:  date() [function.date]: It is not safe to rely on the 
    system's timezone settings. Please use the date.timezone setting, the TZ 
    environment variable or the date_default_timezone_set() function. In case 
    you used any of those methods and you are still getting this warning, you 
    most likely misspelled the timezone identifier. We selected 'Europe/Paris' for 
    '1.0/no DST' instead in K:\dirweb\tutodev\php\initiation\tutos\listnews.php 
    on line 26
    
    Ligne 26 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $timestamp_modif = date('d/m/Y', $timestamp_init);
    Et si j'utilise (ligne 27 la ligne 26 étant mise en commentaire):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $timestamp_modif = mktime(0, 0, 0, date("m"), date("d"), date("Y"));
    le message d'erreur devient :

    ...
    Strict Standards: mktime() [function.mktime]: It is not safe to rely on the system's timezone settings. Please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Paris' for '1.0/no DST' instead in G:\projets\devweb\php\initiation\tutos\listnews.php on line 27

    mysql_query("INSERT INTO news VALUES($pseudo,$titre, $message,$time,$timestamp_modif)")
    Est-ce la bonne méthode d'insérer une date dans un base de données? En même temps c'est de cette manière que c'est fait dans le tuto! Je ne sais pas trop.
    Je pense bien que que le fait que j'ai rien dans ma table news vient du fait que la date ne s'inscrit pas , non?


    Merci de bien vouloir m'éclairer sur cette question.

    Si nécessaire je peux fournir le code complet pour la réalisation de la news.

Discussions similaires

  1. [WD14] Problème d'envoi de message dans un boucle tantque
    Par taradoum dans le forum WinDev
    Réponses: 8
    Dernier message: 05/12/2013, 17h06
  2. Envoie de messages dans une application
    Par rtg57 dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 16/01/2011, 18h40
  3. envoi de message pas dans boîte d'envoi
    Par noussibeau dans le forum Outlook
    Réponses: 5
    Dernier message: 18/07/2007, 22h56
  4. Envoi de message dans windows
    Par Chrissrare dans le forum Autres Logiciels
    Réponses: 3
    Dernier message: 19/04/2006, 22h12
  5. traitement des données avant envoie dans MySQL
    Par italiasky dans le forum SQL Procédural
    Réponses: 13
    Dernier message: 07/02/2006, 22h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo