Résolu Codeur Ajax

Statut
N'est pas ouverte pour d'autres réponses.

JustForGamingCom

Développeur WEB / Fondateur : JustForModding.com
Premium
Inscription
25 Février 2013
Messages
1 854
Réactions
988
Points
10 106
RGCoins
25
Bonsoir,

Je recherche un codeur en ajax, afin de m'aider rapidement sur des formulaires ..

J'ai découvert l'ajax, on m'a vite fait expliquer comment cela fonctionnais mais à l'heure actuelle mon form ne s'envoie pas et je ne comprend pas trop pourquoi..


J'aimerais donc que quelqu'un qui s'y connaisse puisse venir via skype m'aider et m'expliquer au passage rapidement.

Si j'arrive à débloqué ma situation sur l'ajax, la personne pourra être rémunéré.



Au cas ou, voici la partie ajax

PHP:
$("#send-ticket").on('click', function(e){
                    e.preventDefault();
                    var alertticket = $('#alertticket');
                    alertticket.removeClass();
                    alertticket.html('');
                    var subject = $('#inputSubject');
                    var content    = $('#inputContent');

                    if(subject.val() != "" && content.val() != ""){
                        $.ajax({
                            url: 'manage.php',
                            type: 'POST',
                            data: {
                                subject:subject.val(),
                                content:content.val()
                            }
                        }).done(function(e){
                            var result = JSON.parse(e);
                            $.each(result, function(index, value){
                                if(!result.alert){
                                    alertticket.addClass('alert alert-success');
                                    alertticket.html("Votre ticket a bien été envoyé. Nous y répondrons dans les meilleurs délais.");
                                } else {
                                    alertticket.addClass('alert alert-danger');
                                    alertticket.html("<strong>Oupss</strong> " + result.alert);
                                }
                            });
                        });
                    } else {
                        alertticket.addClass('alert alert-danger');
                        alertticket.html("<strong>Oupss</strong> Merci de remplir tous les champs.");
                    }
                });



et la partie de la requete sql :

PHP:
if(isset($_POST['subject']) && isset($_POST['content'])){


        $checkticketson = $odb -> prepare("SELECT * FROM `parametres` WHERE `tickets` = :tickets");
            $checkticketson -> execute(array(':tickets' => '1'));
            $tickets = $checkticketson -> fetch(PDO::FETCH_ASSOC);
            if ($tickets['tickets'] == 0)
            {
                echo json_encode(array('alert' => 'Les tickets support sont temporairement désactivés pour cause de maintenance. Merci de réessayer ultérieurement.'));
                die();
            }

            else {


        if(empty($_POST['ubject'])){
            echo json_encode(array('alert' => "Veuillez définir le sujet de votre ticket"));
            die();
        }

        if(empty($_POST['content'])){
            echo json_encode(array('alert' => "Veuillez rédiger votre demande."));
            die();
        }

        if(strlen($_POST['subject']) < 4){
            echo json_encode(array('alert' => "Le sujet est trop court."));
            die();
        }


        $checkTickets = $odb -> prepare("SELECT COUNT(*) FROM `tickets` WHERE `status` = :status AND `username` = :username");
        $checkTickets -> execute(array(':status' => 'Awaiting support', ':username' => $_SESSION['username']));
        $ticketCount = $checkTickets -> fetchColumn(0);
    
        $checkTickets2 = $odb -> prepare("SELECT COUNT(*) FROM `tickets` WHERE `status` = :status AND `username` = :username");
        $checkTickets2 -> execute(array(':status' => 'Tech support answered', ':username' => $_SESSION['username']));
        $ticketCount2 = $checkTickets2 -> fetchColumn(0);
            if($ticketCount > 0 || $ticketCount2 > 0)
            {
           echo json_encode(array('alert' => 'Vous ne pouvez pas ouvrir un deuxième ticket support. Veuillez clôturé ou attendre la fermeture de votre ticket par un administrateur.'));
            }


            else {

        
        $odb -> prepare('
            INSERT INTO tickets
                (subject, departement, content, status, username, admin, sender, application, language, date)
            VALUES
                (:subject, :departement, :content, :status, :username, :admin, :sender, :application, :language, :date)
        ')->execute([
            'subject'              => htmlspecialchars(trim($_POST['inputSubject'])),
            'departement'       => '1',
            'content'           => htmlspecialchars(trim($_POST['inputContent'])),
            'status'             => 'Awaiting support',
            'username'          => $_SESSION['username'],
            "admin"             => '',
            "sender"            => $_SESSION['username'],
            "application"       => 'test',
            "language"          => $language,
            "date"              => time()
        ]);


        $VerifEmail = $odb -> prepare("INSERT INTO `user_history` VALUES(NULL, :userid, :username, :description, :icon, UNIX_TIMESTAMP())");
        $VerifEmail -> execute(array(':userid' => $_SESSION['ID'], ':username' => $_SESSION['username'], ':description' => 'Vous avez ouvert un ticket support', ':icon' => 'fa fa-envelope'));

        echo json_encode(array('success' => "1"));
        die();

                }
        }

        }


Le form :


PHP:
<div class="form-horizontal">

<div id="alertticket"></div>
                                <div class="form-group">
                                    <label class="col-md-4 control-label" for="val-username">
                                        Subject
                                        <span class="text-danger">*</span>
                                    </label>
                                    <div class="col-md-6">
                                        <input type="text" id="inputSubject" class="form-control" placeholder="Enter your subject">
                                    </div>
                                </div>


                        <div class='box-body'>
                                <textarea class="textarea editor-cls" id="inputContent" placeholder="Place some text here"></textarea>
                        </div>

                        <div class="form-group">
                                    <div class="col-md-8 col-md-offset-4">
                                        <label class="padding7" for="terms">
                                            <div class="icheckbox_minimal-blue" style="position: relative;"><i class="fa fa-check"></i> </ins></div>&nbsp;&nbsp;I agree to
                                            <a href="../terms" target="_blank">
                                                Terms &amp; Conditions
                                            </a>
                                        </label>
                                    <small class="help-block" data-bv-validator="notEmpty" data-bv-for="terms" data-bv-result="NOT_VALIDATED" style="display: none;">You have to accept the terms and conditions</small></div>
                                </div>
                                <div class="form-group form-actions">
                                    <div class="col-md-8 col-md-offset-4">
                                        <input type="submit" id="send-ticket" value="Submit" class="btn btn-effect-ripple btn-primary">
                                    </div>
                                </div>
                            </div>
 
Dernière édition:
Bonsoir,

Je recherche un codeur en ajax, afin de m'aider rapidement sur des formulaires ..

J'ai découvert l'ajax, on m'a vite fait expliquer comment cela fonctionnais mais à l'heure actuelle mon form ne s'envoie pas et je ne comprend pas trop pourquoi..


J'aimerais donc que quelqu'un qui s'y connaisse puisse venir via skype m'aider et m'expliquer au passage rapidement.

Si j'arrive à débloqué ma situation sur l'ajax, la personne pourra être rémunéré.



Au cas ou, voici la partie ajax

PHP:
$("#send-ticket").on('click', function(e){
                    e.preventDefault();
                    var alertticket = $('#alertticket');
                    alertticket.removeClass();
                    alertticket.html('');
                    var subject = $('#inputSubject');
                    var content    = $('#inputContent');

                    if(subject.val() != "" && content.val() != ""){
                        $.ajax({
                            url: 'manage.php',
                            type: 'POST',
                            data: {
                                subject:subject.val(),
                                content:content.val()
                            }
                        }).done(function(e){
                            var result = JSON.parse(e);
                            $.each(result, function(index, value){
                                if(!result.alert){
                                    alertticket.addClass('alert alert-success');
                                    alertticket.html("Votre ticket a bien été envoyé. Nous y répondrons dans les meilleurs délais.");
                                } else {
                                    alertticket.addClass('alert alert-danger');
                                    alertticket.html("<strong>Oupss</strong> " + result.alert);
                                }
                            });
                        });
                    } else {
                        alertticket.addClass('alert alert-danger');
                        alertticket.html("<strong>Oupss</strong> Merci de remplir tous les champs.");
                    }
                });



et la partie de la requete sql :

PHP:
if(isset($_POST['subject']) && isset($_POST['content'])){


        $checkticketson = $odb -> prepare("SELECT * FROM `parametres` WHERE `tickets` = :tickets");
            $checkticketson -> execute(array(':tickets' => '1'));
            $tickets = $checkticketson -> fetch(PDO::FETCH_ASSOC);
            if ($tickets['tickets'] == 0)
            {
                echo json_encode(array('alert' => 'Les tickets support sont temporairement désactivés pour cause de maintenance. Merci de réessayer ultérieurement.'));
                die();
            }

            else {


        if(empty($_POST['ubject'])){
            echo json_encode(array('alert' => "Veuillez définir le sujet de votre ticket"));
            die();
        }

        if(empty($_POST['content'])){
            echo json_encode(array('alert' => "Veuillez rédiger votre demande."));
            die();
        }

        if(strlen($_POST['subject']) < 4){
            echo json_encode(array('alert' => "Le sujet est trop court."));
            die();
        }


        $checkTickets = $odb -> prepare("SELECT COUNT(*) FROM `tickets` WHERE `status` = :status AND `username` = :username");
        $checkTickets -> execute(array(':status' => 'Awaiting support', ':username' => $_SESSION['username']));
        $ticketCount = $checkTickets -> fetchColumn(0);
   
        $checkTickets2 = $odb -> prepare("SELECT COUNT(*) FROM `tickets` WHERE `status` = :status AND `username` = :username");
        $checkTickets2 -> execute(array(':status' => 'Tech support answered', ':username' => $_SESSION['username']));
        $ticketCount2 = $checkTickets2 -> fetchColumn(0);
            if($ticketCount > 0 || $ticketCount2 > 0)
            {
           echo json_encode(array('alert' => 'Vous ne pouvez pas ouvrir un deuxième ticket support. Veuillez clôturé ou attendre la fermeture de votre ticket par un administrateur.'));
            }


            else {

       
        $odb -> prepare('
            INSERT INTO tickets
                (subject, departement, content, status, username, admin, sender, application, language, date)
            VALUES
                (:subject, :departement, :content, :status, :username, :admin, :sender, :application, :language, :date)
        ')->execute([
            'subject'              => htmlspecialchars(trim($_POST['inputSubject'])),
            'departement'       => '1',
            'content'           => htmlspecialchars(trim($_POST['inputContent'])),
            'status'             => 'Awaiting support',
            'username'          => $_SESSION['username'],
            "admin"             => '',
            "sender"            => $_SESSION['username'],
            "application"       => 'test',
            "language"          => $language,
            "date"              => time()
        ]);


        $VerifEmail = $odb -> prepare("INSERT INTO `user_history` VALUES(NULL, :userid, :username, :description, :icon, UNIX_TIMESTAMP())");
        $VerifEmail -> execute(array(':userid' => $_SESSION['ID'], ':username' => $_SESSION['username'], ':description' => 'Vous avez ouvert un ticket support', ':icon' => 'fa fa-envelope'));

        echo json_encode(array('success' => "1"));
        die();

                }
        }

        }


Le form :


PHP:
<div class="form-horizontal">

<div id="alertticket"></div>
                                <div class="form-group">
                                    <label class="col-md-4 control-label" for="val-username">
                                        Subject
                                        <span class="text-danger">*</span>
                                    </label>
                                    <div class="col-md-6">
                                        <input type="text" id="inputSubject" class="form-control" placeholder="Enter your subject">
                                    </div>
                                </div>


                        <div class='box-body'>
                                <textarea class="textarea editor-cls" id="inputContent" placeholder="Place some text here"></textarea>
                        </div>

                        <div class="form-group">
                                    <div class="col-md-8 col-md-offset-4">
                                        <label class="padding7" for="terms">
                                            <div class="icheckbox_minimal-blue" style="position: relative;"><i class="fa fa-check"></i> </ins></div>&nbsp;&nbsp;I agree to
                                            <a href="../terms" target="_blank">
                                                Terms &amp; Conditions
                                            </a>
                                        </label>
                                    <small class="help-block" data-bv-validator="notEmpty" data-bv-for="terms" data-bv-result="NOT_VALIDATED" style="display: none;">You have to accept the terms and conditions</small></div>
                                </div>
                                <div class="form-group form-actions">
                                    <div class="col-md-8 col-md-offset-4">
                                        <input type="submit" id="send-ticket" value="Submit" class="btn btn-effect-ripple btn-primary">
                                    </div>
                                </div>
                            </div>
Tu doit d'abord apprendre à manié les outils d'analyse avant d'attaqué un projet,
Inspecté l'élément > (là 2 choix s'offre à toi)

Console > Un message d'erreur rouge s'affiche s'il y à un problème avec ton code javascript
Network > Tu peut éventuellement voir ta requête ajax si il n'y à pas d'erreur javascript, tu pourra voir se que tu à envoyé et la réponse donné par ton script php

Un bon dev manie ses outils d'analyse à la perfection ;)
 
Tu doit d'abord apprendre à manié les outils d'analyse avant d'attaqué un projet,
Inspecté l'élément > (là 2 choix s'offre à toi)

Console > Un message d'erreur rouge s'affiche s'il y à un problème avec ton code javascript
Network > Tu peut éventuellement voir ta requête ajax si il n'y à pas d'erreur javascript, tu pourra voir se que tu à envoyé et la réponse donné par ton script php

Un bon dev manie ses outils d'analyse à la perfection ;)

Bah enfete sa me met sa mais je ne sais pas trop quoi faire car le js et moi sa fait 999999999

 
Bah enfete sa me met sa mais je ne sais pas trop quoi faire car le js et moi sa fait 999999999


var result = JSON.parse(e); <-- l'erreur vien d'ici

tu peut faire console.log(e); avant de faire le var result = JSON.parse(e); et me passé le résultat de ta console
 
var result = JSON.parse(e); <-- l'erreur vien d'ici

tu peut faire console.log(e); avant de faire le var result = JSON.parse(e); et me passé le résultat de ta console

 
Non désolé, pas de lien de demo possible :/
Si on avait acces à la console on pourrait accéder à la ligne où est l'erreur et donc du coup voir où est l'erreur... si tu sais faire je t'invite à poster le maximum d'informations pouvant nous aider à traiter l'erreur :p
J'ai pas encore regardé le code sur ton topic mais je vais m'y mettre, on sais jamais, si j'arrive à comprendre ajax d'un coup :troll:
 
Si on avait acces à la console on pourrait accéder à la ligne où est l'erreur et donc du coup voir où est l'erreur... si tu sais faire je t'invite à poster le maximum d'informations pouvant nous aider à traiter l'erreur :p
J'ai pas encore regardé le code sur ton topic mais je vais m'y mettre, on sais jamais, si j'arrive à comprendre ajax d'un coup :trollface:

Bah je peut te le donner en MP mais pas le release en public pour le moment
 
Bah je peut te le donner en MP mais pas le release en public pour le moment
Envoie toujours, on va voir si je peux y changer quelque chose :p
J'ai essayé de check un peu ton code, ça ressemble pas mal à du jQuery mais je n'ai que quelques bases donc ça me paraît chaud :mmh:
Mais bon je veux bien essayer :xD:
 
@Rivals ou @Walky SEC ou @Kévin SEC Tu pourrais m'aider stp?

04f9a1c50a814f0ca515d2c3c80518ee.png
 
Dernière édition:
En utilisant ton code (en utilisant une version simplifié du PHP), je n'obtiens pas d'erreur côté client

C'est donc la version php qui serait trop ancienne? Mais ce qui est bizarre c'est que ce code marche sur une autre page et pas sur la page ou je souhaite utiliser ce code ..

En plus il marchait il y a peut de temps, j'ai du faire une modif qui l'a complètement niqué x)

Je peut t'envoyé la page php en MP et tu check si tu as un peut de temps ?
 
C'est donc la version php qui serait trop ancienne? Mais ce qui est bizarre c'est que ce code marche sur une autre page et pas sur la page ou je souhaite utiliser ce code ..

En plus il marchait il y a peut de temps, j'ai du faire une modif qui l'a complètement niqué x)

Je peut t'envoyé la page php en MP et tu check si tu as un peut de temps ?
J'attends ton MP :)
 
Pour moi c'est ton JSON.Parse qui foire à cause d'une erreur du coté du script php, d'ou le console.log(e) avant le JSON.Parse,
pourquoi pas dans la console ?




car e est déclaré dans le callback done xD
 
Statut
N'est pas ouverte pour d'autres réponses.
Retour
Haut