IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

un formulaire mégalomane [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 47
    Par défaut un formulaire mégalomane
    Bonjour à tous,

    Je suis nouveau ici, et je me permet déjà de solliciter votre aide.

    Alors voilà, le problème est simple, mais ca fait pas moins de 2 jours que je sèche complètement.

    Voilà le problème : j'ai un formulaire en méthode POST, dont le traitement est (ou du moins devrait) être effectué par un fichier script.php. J'ai donc bien précisé ce nom dans pour l'attribut action. Mais quand je valide le formulaire, il ne fait que revenir sur sa propre page! Impossible de le rediriger vers le script de traitement, dont j'ai vérifié des dizaines de fois le nom. C'est d'autant plus étonnant que j'ai déjà traité plein d'autres formulaires de la même façon, sans aucun problème.

    J'ai mis en pièce jointe les 2 fichiers concernés. Malheureusement je ne peux pas fournir tous les élèments pour les utiliser, c'est juste pour consultation du source.

    Mes recherches me font penser que c'est le formulaire qui pose problème (n'importe quel nom dans l'attribut action ne change absolument rien, ce qui est assez hallucinant...).

    Merci à tous ceux qui essayeront de me sortir de cette impasse.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Bonjour et bienvenue
    Un conseil pour trouver de l'aide sur les forums : personne ici n'a le temps de lire les sources de quelqu'un d'autre en intégralité. Il faut donc que tu isoles au maximum le problème et que tu donnes juste l'extrait de code intéressant. En l'occurence, est-ce que tu pourrais juste poster le début de ton formulaire (+ la balise submit, éventuellement) ? ou tout le formulaire s'il est court

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 47
    Par défaut
    Merci de ta réponse.

    En cherchant à isoler le problème, il me parait clair qu'il se situe dans le formulaire, pas très long, du fichier new_modification. En effet, je peux mettre n'importe quoi dans l'attribut action de la balise form, il ne fait que revenir sur lui même, ce qui exclue le deuxième fichier du jeu.

    Le html pur ne pouvant pas, à mon sens, poser de problème de programmation, je dirai que le souci doit se situer quelque part dans les bouts de code php, qui ne sont en fait que des echo dans le formulaire pour le préremplir. Ce qui fonctionne très bien, donc c'est que la requete mysql passe.

    Et c'est bien ca le problème en fait, tout marche, sauf la validation dont je ne vois vraiment pas pourquoi elle a ce comportement.

    EDIT : Je poste le formulaire dans un autre message.

  4. #4
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Citation Envoyé par Athorus
    En cherchant à isoler le problème, il me parait clair qu'il se situe dans le formulaire, pas très long, du fichier new_modification.
    Eh bien poste-le, entre des balises code (le dièse)...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 47
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    <?php
     
    if (isset($_POST['id'])&& $_POST['id']!='')//On récupère l'identifiant
    {
    //Remplissage du formulaire
    	$id=$_POST['id'];
    	$query="SELECT ps.cle, numero_ps, cle_ps, nom_ps, prenom_ps, Adresse, Compl_Adresse, Nature_Cabinet, Civilite, CP , Ville, Spécialité, ";
    	$query.="Debut_Activite, Fin_Activite, Matricule, NumBanque, NumAgence, codeconv, dateconv,";
    	$query.="tel, portable, fax, eMail, NumCompte, clefCompte, donnees_informatiques.cle, teletrans, connecte, logiciel_lecteur, version, code, libelle, diplome, commentaire";
    	$query.=" FROM PS, donnees_informatiques, specialites WHERE ps.cle=".$id." AND donnees_informatiques.cle=".$id." AND code=spécialité";
    	$result = mysql_query($query);
    	$rowInfo = mysql_fetch_array($result);
     
    }
     
    ?>
     
    <form method='POST' action='modification_PS2.php' name='frmmod'>
    <table class="tableadd" border='0' align='center' width = 85%>
    <th colspan='5' bgcolor='#D1D0D0'>Modification du professionnel de santé</th>
     
    <tr>
         <td colspan='5' align="left" bgcolor='#DEDEDE'><i><b>Informations générales</b></i></td>
    </tr>
     
    <tr>
    	<td width=30%> Numéro:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clé:<br> <input type='text' name='num' size='10' value="<?php echo $rowInfo[1];?>">
                 <input type='text' name='cle' size='2' value="<? echo $rowInfo[2]; ?>"</td>
    	<td> Civilité:<br> <input type='text' name='civ' size='20' value="<? echo $rowInfo[8]; ?>"></td>
    	<td> Spécialité:<br> <input type='text' name='spe' size='30' value="<? echo $rowInfo[31]; ?>"></td>
    	<td> Cabinet:<br> <input type='text' name='Cab' size='5' value="<? echo $rowInfo[7]; ?>"></td>
    </tr>
     
    etc...
     
    <tr>
        <td colspan='2' align='center' bgcolor="#cccccc"><input type='submit' value='Modifier' name='modif'></td>
    	<td colspan='5' align='center' bgcolor="#cccccc"><input type='button' value='Retour' name='bnom' onClick='javascript:history.back();'></td>
    </tr>
     
    </table>
    </form>

  6. #6
    Membre chevronné
    Inscrit en
    Février 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Février 2005
    Messages : 419
    Par défaut
    J'ai regardé ton formulaire et la seule chose qui est susceptible de faire une redirection c'est ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onClick='javascript:history.back();'
    Sur ton bouton annuler.

    Donc je ne sais pas ... qui dit erreur con dit raison con donc essaye en supprimant ce bouton déjà. Peut être que machinalement tu valides sur celui la au lieu de valider sur l'autre
    Je sais c'est stupide mais quand on est à fond dans un problème ça arrive qu'on devienne carrément aveugle.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 116
    Par défaut
    Bonjour,

    juste pour info :

    j'ai copié votre fichier modification_PS2.php sur mon serveur web, j'ai ensuite validé votre formulaire et il m'envoit bien sur votre fichier modification_PS2.php

    De plus, je vous conseille d'utiliser des " et non des ' pour les attributs de tous les tags html, ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form method='POST' action='modification_PS2.php' name='frmmod'>
    devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form method="POST" action="modification_PS2.php" name="frmmod">

  8. #8
    Membre chevronné
    Inscrit en
    Février 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Février 2005
    Messages : 419
    Par défaut
    juste pour info :

    j'ai copié votre fichier modification_PS2.php sur mon serveur web, j'ai ensuite validé votre formulaire et il m'envoit bien sur votre fichier modification_PS2.php
    Je sais pas pourquoi mais je sens de plus en plus que l'explication du probleme est celle que je viens de donner

    Surtout que le bouton annuler se trouve après le valider et qu'on a souvent tendance à voir l'inverse.

  9. #9
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Les valeurs des attributs HTML doivent être entre guillemets doubles, si je me souviens bien. Ca pourrait expliquer qu'ils ne soient pas pris en compte : si aucun attribut "action" n'est trouvé, le formulaire renvoie vers lui-même.

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 47
    Par défaut
    Je viens d'essayer, pas de changement, les boutons sont bien définis...

  11. #11
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Citation Envoyé par Athorus
    Je viens d'essayer, pas de changement, les boutons sont bien définis...
    tu as essayé quoi ?

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 47
    Par défaut
    Désolé du retard.

    J'ai essayé les 2 solutions, enlever le bouton annuler et remplacer les simple quote par des doubles. Aucun changement.... Le script est dans le même dossier, le nom correct, je vois absolument pas le problème...

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 47
    Par défaut
    Je n'avais pas vu la réponse de fred64...

    Alors là ca se complique, qu'est ce qui pourrait faire que ca se valide pas chez moi?

    Peut être parce que le fichier new_modification s'inclut dans un autre, ca peut faire quelque chose? Sachant qu'il n'est pas le seul et que les autres fonctionnent...

  14. #14
    Membre chevronné
    Inscrit en
    Février 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Février 2005
    Messages : 419
    Par défaut
    le fichier new_modification s'inclut dans un autre
    ça il y aurait fallu le dire du début
    On peut chercher longtemps si l'erreur vient d'ailleurs

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 47
    Par défaut
    Je doute que le problème vienne de là, mais c'est pas plus ahurissant que ce problème de validation. Voici les portions de code susceptibles de poser problème dans ce fichier:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    echo "<form name='form_PS' method='POST' action=''>
    <input type='hidden' name='cas' value=''>
    <table class='tblFormulaire' border='0' width='90%' align='center'>";
     
    echo "<tr bgcolor='#A5A263'><td class='sousTitre' colspan='5'>Recherche d'un personnel de santé</td></tr><tr><td align='left'>";
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    if (isset($_POST['cas']) && !empty($_POST['cas']))
    		echo "<tr><td><input type='hidden' name='cas' value='" . $_POST['cas'] . "'>";
    	else
    		echo "<tr><td><input type='hidden' name='cas' value=''>";
    	if (isset($_POST['id']) && !empty($_POST['id']))
    		echo "<input type='hidden' name='id' value='" . $_POST['id'] . "'>";
    	else
    		echo "<input type='hidden' name='id' value=''>";
    	echo "<input type='hidden' name='page' value=''><input type='hidden' name='nom_PS' value=''><input type='hidden' name='ville' value=''><input type='hidden' name='spe' value=''>";
    	echo "<input type='hidden' name='requete' value='$resultat'>";
    	echo "<input type='hidden' name='nombre_resultat' value='$nombre_total_de_resultat'>";
    	echo "</td></tr>";
    	echo "</table>";
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    if (isset($_POST['cas']) && (!empty($_POST['cas'])))
    	$_SESSION['cas']=$_POST['cas'];
     
    if(isset($_SESSION['cas']))
    			switch($_SESSION['cas'])
    			{
    				case 'add':
    					include ("new_ajout_PS.php");
    				break;
    				case 'mod':
    					include ("new_modification_PS.php");
    				break;
    				case 'aff':
    					include ("new_affichage_PS.php");
    				break;
    				case 'del':
    					include ("suppression_PS.php");
    				break;
    			}
    On peut voir sur cette dernière partie que selon l'action de l'utilisateur, le fichier inclus est différent. Les 3 autres ne posent aucun problème...

  16. #16
    Membre chevronné
    Inscrit en
    Février 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Février 2005
    Messages : 419
    Par défaut
    echo "<form name='form_PS' method='POST' action=''>
    C'est normal ce action vide ?

    Et je n'ai pa svu ou tu fermais ta balise </form>
    Si ça se trouve c'est ce formulaire la que tu valides, et c'est pour ça que tu retombes toujours sur cette page.

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 47
    Par défaut
    Alors là, je crois bien que tu as mis le doigt sur le problème.

    Le champ action vide c'est normal, par contre il manquait effectivement la balise de fermeture du formulaire. Après ajout j'ai quelques erreurs, mais il est bien parti sur le script de traitement.

    Ca avance!

  18. #18
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 47
    Par défaut
    Le problème principal étant résolu, je vais pouvoir débugger ces nouvelles petites erreurs (que des notice) et terminer ce script.

    Merci à tous ceux qui m'ont aidé.

  19. #19
    Membre émérite
    Avatar de SnakemaN
    Profil pro
    Bidouille-tout Android
    Inscrit en
    Juillet 2006
    Messages
    871
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Bidouille-tout Android

    Informations forums :
    Inscription : Juillet 2006
    Messages : 871
    Par défaut
    Pour plus de compatiblité je te conseilllerai d'utiliser des \" a la place de tes ' par ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo "<form name='form_PS' method='POST' action=''>
    devient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo "<form name=\"form_PS\" method=\"POST\" action=\" \">";
    Bonne journée
    SKN

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Création d'un formulaire sous flash?
    Par ultrakas dans le forum Flash
    Réponses: 5
    Dernier message: 11/01/2005, 18h33
  2. [CR][Access] intégrer un viewer dans un formulaire access
    Par nicolak dans le forum SAP Crystal Reports
    Réponses: 7
    Dernier message: 13/01/2003, 15h52
  3. []Problème avec les formulaires Outlook
    Par Invité dans le forum Outlook
    Réponses: 6
    Dernier message: 05/12/2002, 09h59
  4. [VB6][Formulaire]Appliquer un Scrollbar a une Form
    Par Boil dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 09/11/2002, 03h51
  5. [CR] Tranfert de formulaire a travers une page HTMl
    Par LIEU dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 12/09/2002, 08h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo