Partage
  • Partager sur Facebook
  • Partager sur Twitter

Envoie d'un message sur une messagerie instantané

    20 février 2024 à 22:57:45

    Bonsoir à tous, je conçois actuellement une messagerie instantané comme celle de Facebook ou whatsapp sur React mais je n'arrive pas à récupérer le message sur mon serveur PHP. L'enregistrement en base de donnée ce fait mais uniquement avec une variable que j'ai défini du coté php. Je ne sait pas trop d’où vient le problème. Du coté React ou du coté serveur php. Voici mon component React: que j'ai appeler Message.jsx

       Je tient à pressier que je n'ai pas réussi à valider la page avec l'editeur d'openclassrooms!

    import { useState } from"react";


    constApp= () => {

    const [message, setMessage] =useState("");
    const [isOpen, setIsOpen] =useState(false)

    functionhandleClick() {
    setIsOpen(true)

    setMessage("");
    constrequestOptions= {
    method:'POST',
    headers: { 'Content-Type':'application/json' },
    body:JSON.stringify({ title:'React Hooks POST Request Example' })
        };
    fetch('https://localhost:8000/chat/chat', { requestOptions })
          .then(response=>response.json())
          .then(data=>setPostId(data.id))
          .catch(error=>console.error('Error sending message:', error));
      }
    consthandleChange= (event) => {
    setMessage(event.target.value);

      };

    return (
    <>
    <liclassName="mb-3">
    <input
    type="text"
    class="form-control form-control-lg"
    id="exampleFormControlInput1"
    placeholder="Type message"
    onChange={handleChange}
    value={message}
    />


    </li>

    <buttononClick={handleClick}>Envoie</button>

    </>
      );
    };

    exportdefaultApp;


    Voici mon script php, qui provient d'un contrôler Synfony:


        #[Route('/chat', name: 'app_chat_chat', methods: ['GET'])]
    publicfunctionchat(Request$request, MessagesRepository$messagesRepository, ManagerRegistry$doctrine): Response
        {



    $entityManager = $doctrine->getManager();
    $message = newMessages();

    // On récupère le message
    $donneesJson = file_get_contents('php://input');

    // On convertit les données en objet PHP
    $donnees = json_decode($donneesJson);

    $tab = json_decode(json_encode($donnees), true);

    //  $title = $tab['title'];



    $title = 'teste';



    $message->setMessage($title);


    $entityManager->persist($message);
    $entityManager->flush();
    header('Access-Control-Allow-Origin: http://localhost:3000/chat/chat');
    header("Content-Type: application/json");

    returnnewJsonResponse($title);
        }






    Donc voila avec la variable

     $title = 'teste';

     cela fonctionne mais ca me sert evidament à rien mais pas avec la variable

    $title = $tab['title'];

    qui est en commentaire:


    Cordialement :

    • Partager sur Facebook
    • Partager sur Twitter

    Envoie d'un message sur une messagerie instantané

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown