Champ avec chiffres

Petit nouveau ! | 5 Messages

14 sept. 2010, 10:31

Bonjour à tous,

j'ai mis en place un formulaire, créer une table dans une base de données (merci aux tuto) mais je n'arrive pas à mettre en place dans le formulaire un champ qui prendrait en compte une longueur et une largeur (en m). Je n'y connais absolument rien en PHP mais je bidouille et cherche à comprendre mais là je cale ... est-ce que quelqu'un peut me venir en aide ? voilà un morceau de code
Code :
mysql_connect ("mysql5-16","nom de la bdd","mdp);
    mysql_select_db("nom de la bdd");
    $nom = mysql_real_escape_string($nom);
    $adresse = mysql_real_escape_string($adresse);
    $cp = mysql_real_escape_string($cp);
    $ville = mysql_real_escape_string($ville);
    $tel = mysql_real_escape_string($tel);
    $fax = mysql_real_escape_string($fax);
    $mail = mysql_real_escape_string($mail);
   
            $long = mysql_real_escape_string($long);
    $message = mysql_real_escape_string($message);
    
    mysql_query("SET NAMES ISO 8859-1");
    $sql = "INSERT INTO contact (nom, adresse, cp, ville, tel,  mail,long, message) VALUES ('$nom','$adresse','$cp','$ville','$tel','$mail','$long','$message')";
    $res = mysql_query ($sql);
    mysql_close();
puis le champ qui demande la longeur :
Code :
 <input name="long" type="decimal" id="long" value="" size="5" maxlength="5">
dans ma bdd j'ai mis le type "DECIMAL" mais rien ...

MERCI d'avance

Petit nouveau ! | 4 Messages

14 sept. 2010, 15:33

Bonjour,

Deja essaie$_POST ou $_GET:
ex
$long = mysql_real_escape_string($_POST['long']);

et fait
echo "long= $long"
et dis moi le resultat

Petit nouveau ! | 5 Messages

14 sept. 2010, 16:02

merci pour ta réponse mais ça ne marche pas mieux. J'ai eu comme réponse sur un autre forum :
Ca sert à rien de mettre un varchar dans ta bdd si c'est un chiffre que tu veux stocker.
De même ca ne sert à rien d'utiliser mysql_real_escape_string sur des données qui représente un chiffre. intval() ou floatval() suffisent dans 99% des cas.
le problème est que ça ne donne rien - lorsque dans le formulaire je tape par exemple 8, dans ma bdd j'ai 0 ...

Petit nouveau ! | 4 Messages

14 sept. 2010, 16:36

Oui mais le echo donne quoi ?

Petit nouveau ! | 4 Messages

14 sept. 2010, 16:48

le mec qui t'as répondu n'as pas tort .Mais bon le but c'est de t'aider, c'est pas de te donner des leçons surtout quand tu signales que tu n'y connais rien.

Essaie de virer les cotes aussi dans ta requete:

$sql = "INSERT INTO contact (nom, adresse, cp, ville, tel, mail,long, message) VALUES ('$nom','$adresse','$cp','$ville','$tel','$mail',$long,'$message')";

et remplace :
$res = mysql_query ($sql);
part
$res = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());

on y verra plus claire ;)

Petit nouveau ! | 5 Messages

16 sept. 2010, 10:08

merci pour ta réponse,
donc j'ai supprimé et remplacé et voilà le message d'erreur que j'ai : Parse error: syntax error, unexpected T_VARIABLE in
apparemment ce qui ne va pas se trouve à cette ligne :

Code : Tout sélectionner

$res = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());
il manque un ' ou une , ... ????

d'avance merci pour votre aide

Mammouth du PHP | 19672 Messages

17 sept. 2010, 21:57

Il doit manquer un « ; » de fin d'instruction à la ligne précédente ;)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: