Bonjours , je veut envoyé un formulaire en javascript pour inscrire les données sans une BDD . Bien sur je les ai projeter avec mysql_real_escape_string , mais je vient de voir que cela me retourne une chaîne vide. Comment protéger mes raquettes alors ?
Tout ce que tu as dans ta première fonction tu le met dans ta deuxième puis tu fais un if pour voir si ta variable valid est à true si si oui ben tu fais ce que tu as dans ta 2eme fonction.
Et pour le ajax à la place de post regarde sur google y a des tuto.
Avec un peut de code on pourrait mieux t'aider donné nous ta fonction jquery ainsi que ta page php
Page avec le formulaire (add.php )
<script type="text/javascript" language="javascript" src="../scripts/jquery.js"> </script>
<?php include('../includes/haut.php'); ?>
<?php // On se connecte a la BDD
require "./config.php";
mysql_connect(DB_HOST,DB_LOGIN,DB_PASS);
mysql_select_db(DB_BDD);
mysql_query ('SET NAMES \'UTF8\'') ;
?>
<h1> Script de blog </h1>
<a href="../index.php"> Retour au site </a> </br>
<a href="./index.php"> Retour a la page d'administration </a>
<br/>
<script type="text/javascript">
$(function(){
$("#envoyer").click(function(){
valid = true;
if($("#titre").val() == ""){
$("#titre").next(".erreur-message").fadeIn(1000).text("Veuillez entrer le titre de l'article");
valid = false;
}
else{
$("#titre").next(".erreur-message").fadeOut();
}
if($("#contenu").val() == ""){
$("#contenu").next(".erreur-message").fadeIn(1800).text("Veuillez entrer un contenu pour l'article");
valid = false;
}
else{
$("#contenu").next(".erreur-message").fadeOut();
}
if($("#categorie").val() == ""){
$("#categorie").next(".erreur-message").fadeIn(1000).text("Veuillez entrer une catégorie pour l'article");
valid = false;
}
else{
$("#categorie").next(".erreur-message").fadeOut();
}
if($("#auteur").val() == ""){
$("#auteur").next(".erreur-message").fadeIn(1000).text("Veuillez entrer un auteur pour l'article");
valid = false;
}
else{
$("#auteur").next(".erreur-message").fadeOut();
}
return valid;
});
});
$(function(){
$("#formpost").submit(function(){
titre= $(this).find("input[name=titre]").val();
contenu= $(this).find("textarea[name=contenu]").val();
categorie= $(this).find("select[name=categorie]").val();
image= $(this).find("input[name=img]").val();
auteur= $(this).find("input[name=auteur]").val();
$.post("addPost.php",{titre: titre, contenu: contenu,auteur: auteur,categorie: categorie},function(data){
$(".statut").fadeIn().text("Article bien posté");
$("#formpost").fadeOut();
});
return false;
});
});
</script>
<span class="statut">statut</span>
<form method="post" id="formpost" action="add.php" enctype="multipart/form-data">
<p>
Titre : <br/><input type="text" id="titre" name="titre" />
<span class="erreur-message">erreur</span>
<br/>
Contenu :<br/><textarea cols="100" rows="12" id="contenu" name="contenu"></textarea>
<span class="erreur-message">erreur</span>
<br/>
Ajouter une image :<br/><input type="file" id="img" name="img"/>
<span class="erreur-message">erreur</span>
<br/>
Catégorie: <br/>
<select id ="categorie" name="categorie">
<option value="">Choisir une catégorie</option>
<option value="Catégorie 1">Catégorie 1</option>
<option value="Autre">Autres</option>
</select>
<span class="erreur-message">erreur</span>
<br/>
Auteur : <br/><input type="text" style=" height: 20px; width:250px;" id="auteur" name="auteur" />
<span class="erreur-message">erreur</span>
<br/>
<input type="submit" id="envoyer" class="submit" name="envoyer" value="Envoyer"/><br/>
</p>
</form>
<?php include('../includes/bas.php'); ?>
Page pour l'insertion Mysql
<?php
extract($_POST);
echo $titre;
$titre= strip_tags($titre);
$contenu= strip_tags($contenu);
$contenu=mysql_real_escape_string($contenu);
$categorie= strip_tags($categorie);
$categorie=mysql_real_escape_string($categorie);
$auteur= strip_tags($auteur);
$auteur=mysql_real_escape_string($auteur);
// On se connecte a la BDD
require "./config.php";
mysql_connect(DB_HOST,DB_LOGIN,DB_PASS);
mysql_select_db(DB_BDD);
mysql_query ('SET NAMES \'UTF8\'') ;
$sql ="INSERT INTO post (titre,contenu,auteur,categories) VALUES ('$titre','$contenu','$auteur','$categorie')";
mysql_query ($sql) or die (mysql_error());
?>
<u>A noté que je débute en Javascript.</u>
Moi je pense que tu devrait fusionner tes 2 fonctions jquery car elles s'exécute en même donc autant les fusionner et essaye avec la fonction ajax plutôt que post
Comme je l'ai dit je débute en Javascript , tu peut m'expliquer plus en détail comment faire stp ?