jeudi 20 février 2014

[Résolu] Encodage JQuery $.post

Vous utilisez jQuery pour envoyer et recevoir les données sur votre site web, mais vous avez un problème d'encodage de caractères (à,é,è ...), vous avez bien cherché mais vous n'arrivez toujours pas à trouver une solution ?

vendredi 29 novembre 2013

1&1 et message d'erreur 404

Vous êtes un client chez 1&1, vous utilisez le fameux fichier .htaccess, mais vous rencontrez un message 404 suivant :
" Error 404 - Not Found
Le fichier requis n'a pas été trouvé. Il peut s'agir d'une erreur technique. Veuillez réessayer ultérieurement. Si vous ne pouvez pas accéder au fichier après plusieurs tentatives, cela signifie qu'il a été supprimé."
Le problème est causé par le fichier .htaccess, car il est incomplet. Et pour le compléter et résoudre votre problème (gênant), il faut ajouter la ligne suivante dans votre fichier  .htaccess :
"RewriteBase / "
Votre fichier aura la structure suivante par exemple :
"Options +FollowSymlinks
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-s
RewriteRule ^404.html 404.php"



dimanche 7 juillet 2013

[TUTO] Vérifier la diponibilité du pseudo avec jQuery

Parfois lorsqu'on rempli un formulaire (inscription par exemple), il nous arrive de choisir un pseudo ou email déjà utilisé par quelqu'un d'autre (il existe dans la bdd). Et souvent on doit remplir le formulaire une autre fois, et imaginez si c’est un formulaire avec plein de champs à remplir, la galère. Il existe plusieurs solution pour éviter tout conflit, et parmi ces solutions on peut échanger les données avec le serveur sans changer de pages, en utilisant jQuery. La méthode est simple, vous pouvez d’ailleurs l’utiliser pour vérifier le pseudo, l’email ou n’importe quel champ.
Tout d’abord il nous faut une base de données, on utilisera celle qu’on a créé dans cet article : Autocomplétion avec jQuery et MySQL. On aura besoin d’une seule page php, où on traitera les données, et pour afficher le formulaire.
Username.php
 0 ){
// si le pseudo choisi est déjà utilisé par quelqu’un d’autre on affiche une erreur
header('HTTP/1.1 500 Nom d\'utilisateur déjà utilisé');
    exit();
}
else{
//si le pseudo est disponible, on affiche un message de réussite
echo"Nom d'utilisateur disponible";}
}
Le code jquery est inclus lui aussi dans la même page
$().ready(function() {
  $('#username').keyup(function(){// quand une touche du clavier est relâchée
  setTimeout(function() { // On laisse un peu de temps avant d'éxecuter la fonction (3s=3000ms)
       var username =$("#username").val();
 
 if(username == '' || username.length < 6){ // on vérefie si le formulaire n'est pas vide, et s'il contient au moins 6 caractères
  $('.erreur_user').html('Le nom d\'utilisateur contient moins de 6 caractères.');
   $(".erreur_user").show();
   return false;
 }
 else {
  jQuery.ajax({
   type: 'POST',
   url: 'username.php',
   data: 'username='+username,
   success: function(response){
   $(".erreur_user").replaceWith(response);
   
   },
   error:function (xhr, ajaxOptions, thrownError){
    $(".erreur_user").html(thrownError);
    $(".erreur_user").show();
    return false;
     }
 }); 
 }
}, 3000);

});
});
Pour un meilleur fonctionnement, vérifier que vous avez bien indiqué l’emplacement de votre fichier (url: 'username.php',), ainsi que l’id du champs dont vous voulez vérifier la disponibilité (#username).
Vous pouvez modifier le CSS selon votre choix, une seule page n'a pas besoin de css ( sauf pour les messages d'erreurs ou de réussites)

mercredi 6 mars 2013

[Tuto] Autocomplétion avec jQuery et MySQL

Salut tout le monde,
Bienvenue sur ce tutoriel, aujourd'hui on va essayer de créer un formulaire en utilisant jQuery. Ce formulaire  recherche dans une base de donnée et vous renvoie les résultats immédiatement.
On prend l'exemple de recherche d'un membre dans la bdd.

lundi 4 mars 2013

[TUTO] Espace membres : Connexion

Bienvenue sur Mweb tutoriels. Aujourd'hui on va voir la première fonction PHP, il s'agit d'une fonction qui vous permettra de vérifier un formulaire de connexion sur votre site, et on peut même garder notre session active (se souvenir de moi). Pour commencer, on aura besoin d'un seul fichier "Connexion.php", une partie sera consacré pour le formulaire de connexion, et une autre pour traiter les entrées et les vérifier à partir de la base de donnée. Avant tout, il faut créer d'abords la base de donnée. C'est là ou on stockera les informations des utilisateurs :
--
-- Structure de la table `users`
--

CREATE TABLE IF NOT EXISTS `users` (
  `id` int(6) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) NOT NULL,
  `password` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;

--
-- Contenu de la table `users`
--

INSERT INTO `users` (`id`, `username`, `password`) VALUES
(1, 'user', ' e10adc3949ba59abbe56e057f20f883e'),
(2, 'user2', ' e10adc3949ba59abbe56e057f20f883e'),;
Si vous vous demandez pourquoi il y'a tout ce baratin dans le champ `password`, n'ayez pas peur, c'est équivalent à `123456` après le cryptage grâce à la fonction MD5(). On crée 3 champs, un pour l'id qui sera unique pour chaque membre, un autre pour les pseudos du membre et le dernier pour le mot de passe. Vous pouvez ajouter d'autres champs si vous voulez, je me suis limité à ces 3 car ils sont largement suffisants pour la fonction. Dés la création de la base de donnée, on peut attaquer la partie php du fichier connexion.php
  
$usr = trim(mysql_real_escape_string($_POST['username']));
           $pwd =trim(mysql_real_escape_string(md5($_POST['userpass'])));
  if($usr && $pwd){
$str = mysql_query("select * from users where username = '".$usr."' and password= '".$pwd."' ");
    if(mysql_num_rows($str) > 0){//on verifie si le pseudo et le mot de passe sont correctes.
 
  $row=mysql_fetch_assoc($str);
            $m_id = $row['id'] ;
   $m_username = $row['username'];
            $m_password = $row['password'];
   $mnt=time();
   if($_POST["cookie"]=="cookie"){//on vérifie si on veut garder la session active(se souvenir de moi).
   $temp_cookie=time()+3600*24*30;// la durée du cookie, 3600*24*30 en secondes=30jours.
   // on crée les cookies
   setcookie("id",$_SESSION['id'],$temp_cookie);
   setcookie("user",$_SESSION['user'],$temp_cookie);
   }
            // on crée les sessions
   $_SESSION['id'] = $m_id;
   $_SESSION['user'] = $m_username;
   echo "Vous êtes connecté ".$m_username.".

"; 
     
echo '';//rediriger le membre connecté vers la page d’accueil
   }
   


else {
//si les informations entrées ne sont pas correcte 
echo"Le nom d'utilisateur ou le mot de passe est incorrecte.

";}
  
  
  }else {
  // si on a laissé un champ vide
  echo"Veuillez entrer un nom d'utilisateur est un mot de passe

";} }
  
  
Explications: D'abords on vérifie si on a cliqué sur le bouton de connexion,si tous les champs ne sont pas vides on continue, sinon un message d'erreur sera affiché. Puis on communique avec la bdd pour savoir si ce membre existe et si le mot de passe est correcte. Ensuite on crée les sessions et les cookies si le membre a choisi de garder sa session active. Si on est arrivé a cette étape,un message s'affiche pour confirmer le succès de la connexion. Enfin on termine par les messages des erreurs, au cas où il y'avait un problème lors de la connexion. Maintenant on passe pour la partie html, il y'a pas grandes choses à faire, juste un formulaire.

Connexion

Nom d'utilisateur
Mot de passe
Se souvenir de moi
Je vous ai préparé un seul fichier prêt à utiliser, il suffit juste d'installer la base de données. Vous pouvez d'ailleurs ajoutez/modifier le fichier comme vous voulez, pour vérifier si le membre est banni par exemple afin de l’interdire de se connecter. Permettez-moi de savoir comment cela fonctionne chez vous!