probeleme de validation de formulaire

Répondre
big_up
le 06/05/2011 à 16:55
big_up
c'est la premiere fois que ça m'arrive ce truque et s'a m'enpeche de verifier si mon programme marche ou non, voici le code :
<?php
if (!isset($_POST['table']) || !isset($_POST['fichier'])){
echo "les champs ne sont pas definis";}
else
if (empty($_POST['table']) || empty($_POST['fichier'])) {
echo "les champs sont vides";}
else
{
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('jules_verne', $base);
$fichier= fopen($_POST['fichier'],'r+');
$ligne=fgets($fichier);
$sql='INSERT INTO'.mysql_escape_string($_POST['table']).'VALUES(';
while (!feof($fichier))
{
$ligne=fgets($fichier);
for ($i=1 ; $i<strlen($ligne)-1 ; $i++)
{
if ($ligne[$i]!== ';')
{
$mot="$mot$ligne[$i]";
}
else
{
$sql='$sql"$mot",';
}
}
$sql=substr($sql,0,-1);
$sql='$sql)';
mysql_query($sql)or die('Erreur SQL !'.$sql.mysql_error());
}

echo 'ça marche';
}
?>

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title> Mise a jour de la base </title>
<body>
<form name="form2" method="post" action="MJR.php">
<label for="table"> Nom de la table </label><input type="text" name="table" id="table"><br/><br/>
<label for="fichier"> Support : </label><input type="file" name="fichier"><br/></br>
<input type="submit" value="Download"/>
<br/>
</form>
</body></html>

bon en gros j'essaye de crée une interface qui prend un fichier txt en entrée pour mettre a jour les tables!!
remarque : je sais qu'il ya bcps d'erreur ...mais je comprend pas pourkoi il m'afiche a chaque fois que les "variables ne sont pas definies"
aidez moi SVP!!

Edit modération : Merci d'utiliser le bbcode pour la mise en forme du code
moogli
le 06/05/2011 à 17:12
moogli
salut,

- bonjour c'est pas seulement un mot et c'est utile pour être polis.
- ce message d'erreur est obligatoire au première affichage vu que c'est bien le cas le formulaire n'a pas été validé !

- dans la boucle c'est $sql.= sinon tu écrase le "tour" d'avant (ainsi que le début de la requête à la première ligne)
-$sql='$sql"$mot",'; ça ne peut fonctionner tu a un soucis de concaténation (cf cours)
- $mot="$mot$ligne[$i]"; ça peut pas aller $mot n'est pas définie a la première ligne.

- suivant la structure de base de ton fichier il est surement préférable d'envisager une autre méthode pour remplir ta table.
Il est possible d'utiliser PDO (ou pas) et une requête préparée.

@+
Il en faut peu pour être heureux !!!!!
big_up
le 06/05/2011 à 17:29
big_up
slt bjr bsr !! dsl pour la politesse je suis cramé , enfin pour les ereurs je sé bien k'il ya des erreurs mais d'habitude ça n'interfere pas avec la validation du formulaire , c'est des erreur frequente , mé pk le formulaire n'est pas valide,d'habitudes meme si il ya des erreurs le formulaire est tjr valide !!
pour etre claire keske causé l'affichage du msg!! merci d'avance et dsl pour le manque de politesse!!
moogli
le 06/05/2011 à 17:32
moogli
je l'ai mis das mon 1er message le message sera TOUJOURS affiché au premier affichage de la page au vu du code puisse que le message lorsque le tableau $_POST ne contient pas ces index. Ce qui est vrai avant la validation du formulaire !

- Ajoute une option pour le français dans tes messages ;)

@+
Il en faut peu pour être heureux !!!!!
big_up
le 06/05/2011 à 17:43
big_up
oui je sais qu'il va s'afficher la premiere fois et c'est normal mais apres lorsque je valide avec le bouton d'envoi je vois le meme message s'afficher donc le formulaire n'est pas valide et moi je voudrai comprendre quesqui fait que mon formulaire n'est pas valide? merci

PS:vous m'aidez bcp et je vous remercie mais pour les commentaire sans interet je me passerai de ça volentier
moogli
le 06/05/2011 à 23:09
moogli
on va faire simple :
- tu veux de l'aide, ça se demande en français et avec politesse, c'est même pas discutable. Et ceci est pareil sur tous les forums !!!!

ton code fonctionne comme tu l'a créer :
- pas d'upload du fichier
la doc officiel
un exemple
- Suivant la version de php et la structure du fichier texte il est peut être plus utile d'utiliser une fonction comme file ou file_get_contents afin d'alléger et simplifier le code.
- Comme déjà indiqué la construction de la requête SQL n'est pas bonne et générera une erreur.
- Configurer la gestion des erreurs serait un bon point pour debuguer tous cela (error_reporting(E_ALL|E_STRICT) par exemple).

@+
Il en faut peu pour être heureux !!!!!
big_up
le 07/05/2011 à 13:55
big_up
slt moogli, merci pour tes lumieres, je vais essayer de travailler sur ta piste!...
je voudrais savoir une chose :
- que-ce-qui peut causer une non-validation d'un formulaire , d'une maniere generale?
autre chose :
je suis sur un projet de creation d'une interface de synchronisation entre une application locale d'une administration et une messagerie gmail ("ce qui explique la fonction de transfert de fichier txt"), pour la manipulation de la messagerie je dois utiliser des APIs google , et moi je suis un peu perdu avec les APIs , est-ce-que tu connais pas un site in french qui explique bien les APIs?
merci
ps: j'espere que mon français est assez bien pour son altesse!! :-)
moogli
le 08/05/2011 à 18:01
moogli
Pour le francais c'est mieux ;) je demande pas quelque chose d'inaginable, je pense juste que c'est le minimum pour bien se comprendre ;)

Je n'ai jamais utilisé google, je pense qu'il doit pouvoir te donner des infos :/

Pour les non validations
- champs vide
- mauvaise syntaxe d'url ou d'email
- champs inexistant (apres tout le formulaire est chez le client et il peut le modifier ;) )

@+
Il en faut peu pour être heureux !!!!!
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours