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

jQuery Discussion :

Conseil Ajax + jQuery


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 13
    Par défaut Conseil Ajax + jQuery
    Bonjour à tous !

    Je viens de me mettre à l'Ajax et jQuery et j'aimerais des conseils pour améliorer mon script.

    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
     
    <p id="error" class="alert alert-error"></p>
    <p id="suc" class="alert alert-success"></p>
    <p id="loading">envoie en cours</p>
     
    <form id="myform" action="" onsubmit="envoyer(); return false;">
    <label>Pseudo</label> <input type="text" id="pseudo" name="pseudo" class="input"/> <br />
    <label>Message</label> <input type="text" id="message" name="message" class="input"/>
    <br /><br />
    <input type="button" class="btn-large btn-primary" onclick="envoyer();" value="Valider"/>
    </form>
     
    <script type="text/javascript">
    $('#error').hide();
    $('#suc').hide();
    $('#loading').hide();
     
    function envoyer() {
     
    // On lance la requête ajax
    // type: POST > nous envoyons le message
     
     
    // On encode le message pour faire passer les caractères spéciaux comme +
    var pseudo = encodeURIComponent($("#pseudo").val()), message = encodeURIComponent($("#message").val());
     
    $.ajax({
    	type: "POST",
    	url: "res.php",
    	data: "pseudo="+pseudo+"&message="+message,
    	success: function(msg){
    	// Si la réponse est true, tout s'est bien passé,
    	// Si non, on a une erreur et on l'affiche
    		if(msg == true) {
    		  // On vide les zones de texte
    		  $("#message").val('');
    		  $("#pseudo").val('');
     
    		  $('#error').hide();
    	          $("#suc").html('Message envoyé').slideDown("slow");
    	      } else{
    		    $('#suc').hide();
    	            $("#error").html(msg).slideDown("slow");
    	       }
    	},
    	error: function(msg){
    	   // On alerte d'une erreur
    	   alert('Erreur'); // Quand cette evenement se déclenche ? Quel genre d'erreur ?
            }
    });
    </script>
    J'aimerai plus de renseignement sur la fonction error, qu'es qui peut faire échouer la requête ?

    Page res.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
     
    <?php
    try
    {
    	$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
    	$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    }
    catch(Exception $e)
    {
        die('Erreur : '.$e->getMessage());
    }
     
    if(isset($_POST) && !empty($_POST)){	
    	$i = 0;
     
     
    	if(isset($_POST['pseudo'])){
    		$t = strlen($_POST['pseudo']);
     
    		if($t <= 5){
    			echo 'Pseudo trop court<br />';
    			$i++;
    		}
    	}
     
    	if(isset($_POST['message'])){
    		$t = strlen($_POST['message']);
     
    		if($t <= 5){
    			echo 'Message trop court';
    			$i++;
    		}
    	}
     
    	if($i == 0){
    		$req = $bdd->prepare('INSERT INTO livreor (auteur, content) VALUES(?, ?)');
    	    $req->execute(array($_POST['pseudo'], $_POST['message']));
     
    	    echo true;
    	}	
    }
    ?>

    Le script marche bien. Je n'ai pas vraiment poussé les vérif côté PHP mais j'aimerai savoir si sur le principe c'est correcte ?

    Qu'es que je pourrais améliorer ? Puis-je étendre ce système sur une inscription/connexion par la suite forum & co. ? Pour les questions de sécurité, est-ce qu'il y a des choses supplémentaires à faire si ce n'est vérifier que le JS est activé ?


    Merci bien !

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 13
    Par défaut
    Petit up, merci bien !

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/05/2015, 15h49
  2. Moteur de recherche PHP - Ajax - Jquery - SQL
    Par visual3d dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 20/05/2009, 15h45
  3. Réponses: 5
    Dernier message: 30/01/2009, 20h20
  4. Effets après ajax (jQuery)
    Par arena94 dans le forum jQuery
    Réponses: 1
    Dernier message: 12/10/2008, 12h14
  5. Réponses: 1
    Dernier message: 07/10/2008, 12h17

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