Aide - Recherche - Membres - Calendrier
Version complète : aide formulaire
La Communauté TitaXium > Service Communication > Espace Developpement
ptiteuf
Bonjour a tous,

voila j'ai suivi un tuto pour réaliser un formulaire pour envoyer des données a ma base mysql et j'ai eue des erreurs. je me suis retourner vers le siteduzero et la j'apprend que le tuto que je suivais etais une mega grosse faille php. donc la je me retoune denouveau vers vous pour que vous m'aidiez a ésoudre mon blem.

mon fichier formulaire

Code
<form name="formulaire" method="post" action="ajout_lang.php">
   <table width="421" border="1">
   <tr>
  <td width="109"><span class="Style4">Langue:</span></td>
   <td width="296"><input name="nom" type="text" id="nom"></td>
   </tr>
    <tr>
  <td><span class="Style4">Description: </span></td>
   <td><input name="description" type="text" id="description" maxlength="255"></td>
  </tr>

   <tr>
  <td colspan="2"><div align="center">
   <input type="submit" name="Submit" value="Envoyer">
   </div></td>
  </tr>
   </table>
        </form>


Maintenant je sais pas comment faire pour que mon fichier ajout_lang.php sois sans faille et puisse rente dans ma base mysql et copier les infos que je met dans le formulaire.


Merci pour votre aide la.
Onitsha
Je pense que le mieux serais que tu mettes une séries de Captures d'écran pour que les personnes visitant ton postes soient mieux renseigner, et peut être que l'erreur sautera dessuite aux yeux.
Car j'ai du mal a me mettre dans le contexte la :-)
Méthylbro
Code
<?php

/**
* Ajoute une langue dans la base de données.
* @param String $name
* @param String $description
* @return Boolean
*/
function ajout_lang($name, $description) {
    // on prépare notre requête sql
    $sql = "INSERT INTO `TABLE_LANG` ";
    $sql.= "SET `name` = '".mysql_real_escape_string($name)."', ";
    $sql.= "`description` = '".mysql_real_escape_string($description)."';";
    
    // on exécute la requête sur notre serveur de données
    $res = mysql_query($sql);
    
    // Si le nombre de lignes affectées dans la table est plus grand que 0
    if (mysql_affected_rows()>0) {
        // Alors la fonction retournera VRAI
        $result = true;
        
    // Sinon
    } else {
        // la fonction retournera FAUX
        $result = false;
    }
    
    // On retourne notre résultat
    return $result;
}

/**
*
*/
if ( (isset($_REQUEST['name']) && !is_null($_REQUEST['name']))
     && (isset($_REQUEST['description']) && !is_null($_REQUEST['description'])) ) {

    //
    $name = htmlentities($_REQUEST['name']);
    
    // On fait appel à notre fonction
    if (ajout_lang($_REQUEST['name'], $_REQUEST['description'])) {
        // Si notre fontion retourne VRAI, c'est que tout c'est bien passé
        echo "<p><em>".$name."</em> &agrave; bien &eacute;t&eacute; ajout&eacute;.</p>";
    } else {
        // Sinon, c'est que l'ajout à échoué
        echo "<p class=\"error\">Impossible d'ajouter <em>".$name."</em>.</p>";
    }
}

?>
<form method="post" action="">
    <p><label for="name">Nom</label> :
    <input type="text" id="name" name="name" value="" /></p>
    
    <p><label for="description">Description</label> :
    <textarea id="description" name="description"></textarea></p>
    
    <p><input type="submit" value="Ajouter" /></p>
</form>


Bien entendu ce que tu vois là n'est qu'un exemple.
Il serais possible de faire beaucoup mieux. En gérant par exemple différents messages d'erreurs retournés par ta base de données.
Ou encore en gérant les ' avec stripslashes. Mais je n'ai pas voulu compliquer d'avantage.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2012 Invision Power Services, Inc.