Cherchez l'erreur

Résolu
Smoking bird Messages postés 911 Statut Membre -  
[o.o]REplay Messages postés 381 Date d'inscription   Statut Membre -
Bonjour,

tout est dans le titre :) merci à ceux qui joueront avec moi -_-'

if(isset($texte) and isset($date) and strlen($texte)>10 )
{
$sql="insert into summer (id,type,datas) values ('','texte','".$texte."//".$date."')";
/*->ça plante sur cette ligne là:*/ (mysql_query($sql)=="true") ? echo "Sent" : echo "Failed";

}
Configuration: Windows XP
Opera 9.50

4 réponses

  1. Nico_ Messages postés 1220 Date d'inscription   Statut Membre Dernière intervention   189
     
    bonsoir,

    essai avec ceci mais je ne suis pas du tout sur:
    $sql="insert into summer (id,type,datas) values (' ','$type','$texte','$date.')";
    /*->ça plante sur cette ligne là:*/ (mysql_query($sql)=="true") ? echo "Sent" : echo "Failed";


    voici la ligne que j'utilise pour ajouter les données dans ma BDD:
    mysql_query("INSERT INTO table VALUES(' ','$date','$formateur','$message')");
    

    voici le code complet que j'utilise pour les ajouts:

    <?php 
    header ("Refresh: 2;URL=index.php");//redirection dans 2 secondes sur la page index.
    ?>
    <!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">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>confirmation d'envoi</title>
    </head>
    <?
    $date = $_POST['date']; // recup du champs date
    $formateur = $_POST['formateur']; recup du champs nom du formateur
    $message = nl2br($_POST['message']); // nl2r = concerve la mise en forme du texte dans le champs message
    mysql_connect("localhost", "IDENTIFIANT", "MDP"); // Connexion à MySQL
    mysql_select_db("BASE"); // Sélection de la base
    $reponse = mysql_query("SELECT * FROM table"); // Requête SQL
    mysql_query("INSERT INTO table VALUES(' ','$date','$formateur','$message')");
    mysql_close(); // Déconnexion de MySQL
    echo'<p class="Style21">Votre message à été ajouter. Vous allez être redirigé. Bonne journée'
    ?>
    


    bonne soirée
    0
    1. Smoking bird Messages postés 911 Statut Membre 58
       
      Salut Nico,

      Merci d'avoir joué avec nous :D mais essaie encore ;) l'erreur est pas sur la requête, celle ci se passe bien :) l'erreur est sur le contrôle; le if.. else réduit^^. Le code fonctionne avec un if... else version académique, mais elle ne m'intéresse pas pour ce projet :) j'ai besoin d'une version réduite :).

      Sinon, dans ton exemple de code, pourquoi faire une redirection?

      Bonne soirée à toi aussi :)
      0
    2. [o.o]REplay Messages postés 381 Date d'inscription   Statut Membre 28 > Smoking bird Messages postés 911 Statut Membre
       
      mysql_query($sql,$link) -.-
      j'ai gagné quoi? :D
      0
    3. Nico_ Messages postés 1220 Date d'inscription   Statut Membre Dernière intervention   189 > Smoking bird Messages postés 911 Statut Membre
       
      bonjour,

      la redirection sers pour mon code a moi, il te suffi de l'enlever !

      bonne journée
      0
    4. Smoking bird Messages postés 911 Statut Membre 58 > [o.o]REplay Messages postés 381 Date d'inscription   Statut Membre
       
      Rien :) la connexion est établie avant le query, donc pas besoin de la refaire :) (j'l'ai pas mise parce qu'elle est tout en haut du fichier^^)
      0
    5. Smoking bird Messages postés 911 Statut Membre 58 > Nico_ Messages postés 1220 Date d'inscription   Statut Membre Dernière intervention  
       
      Salut Nico :)

      J'ai bien compris que la redirection servait à ton code :$ mais j'croise pas souvent des gens qui se servent de redirection, alors j'en profite pour te demander quelle en est l'utilité exactement^^ tu sépares tes formulaires de tes traitements de données?

      Bonne journée à toi aussi^^
      0
  2. Smoking bird Messages postés 911 Statut Membre 58
     
    up^^
    0
  3. [o.o]REplay Messages postés 381 Date d'inscription   Statut Membre 28
     
    ça fait une semaine que t'es dessus -.- j'y crois pas.

    (mysql_query($sql)=="true") ? echo "Sent" : echo "Failed";

    Bref, l'erreur vient de ton utilisation de ?:;
    tu peux pas mettre de echo entre les ? : et : ;

    En effet, l'opérateur ? permet de RENVOYER une valeur en fonction du test :)
    L'utilisation cest:

    $message=((mysql_query($sql)=="true") ?"Sent" :"Failed";
    echo $message;

    voilà.
    Bon et j'ai gagné quoi maintenant? ^^
    0
    1. Smoking bird Messages postés 911 Statut Membre 58
       
      "ça fait une semaine que t'es dessus -.- j'y crois pas."

      J'ai une vie en dehors :D mais c'est vrai que j'ai pas cherché depuis que j'ai posté ici, vu que c'était un peu la dernière chance...


      Merci pour ta réponse, elle s'est révélée exacte suite à un petit retrait de parenthèse en surplus^^ ;).
      J'avais déjà utilisé cet opérateur une ou deux fois auparavant, mais ça remonte à longtemps^^ ceci dit je crois l'avoir utilisé différement. Si je le retrouve dans mes vieilles lignes de code, je posterais ici l'utilisation que j'en avais faite^^

      Malheureusement, vu les temps qui courrent, il va m'être difficile de t'offrir davantage que mon estime^^ En revanche, j'aimerais bien qu'on échange nos adresses, il est possible que j'ai d'autres choses à te proposer :) (non, pas mon corps! :p)

      Bonne journée, et merci à tous ceux qui ont eu la gentillesse de participer à ce poste, et me faire ainsi progresser davantage en PHP^^

      *c'est un petit pas pour le PHP, mais un grand pas pour l'aspirant codeur que je suis!*
      0
      1. Smoking bird Messages postés 911 Statut Membre 58 > Smoking bird Messages postés 911 Statut Membre
         
        *ferme le fil*

        Le problème provient de l'utilisation de echo dans le test comprennant l'opérateur "?" *détails plus haut^^*
        0
      2. [o.o]REplay Messages postés 381 Date d'inscription   Statut Membre 28 > Smoking bird Messages postés 911 Statut Membre
         
        Ok, ben si tu as une question, tu me la pose par ce site, ou par replay.homeunix.com :) (tu met un commentaire quelque part ^^ ).

        Bonne journée :)
        0
  4. TechAndCo Messages postés 254 Statut Membre 20
     
    Salut:

    if(isset($texte) and isset($date) and strlen($texte)>10 )
    {
    $sql="insert into summer (id,type,datas) values ('','texte','".$texte."//".$date."')";

    if ($sql2 = mysql_query($sql)){
    echo 'Ok';
    } else {
    echo 'Erreur';
    }

    0
    1. Smoking bird Messages postés 911 Statut Membre 58
       
      Merci d'avoir participé :) mais ce n'était pas le type de réponse recherchée^^
      (trop longue ;)) en tous les cas, ça m'aide quand même :)
      0