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 :

Contenu variable EMPTY


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2020
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Chef de projets

    Informations forums :
    Inscription : Février 2020
    Messages : 11
    Par défaut Contenu variable EMPTY
    Bonjour à tous !
    Débutant en PHP et HTML, j'ai crée un formulaire dans la page "indexapp.php" me permettant de renseigner des mouvements financiers :
    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
     
    <form method="post" action="cibleapp.php">
     
    <p>
        Veuillez saisir les informations :
    </p>
     
    <form action="cible.php" method="post">
    <p>
     
    	DEPUIS LE COMPTE : <br />
        <select name="depuis">
        <option value="courant">Compte Courant</option>
        <option value="ldd">Livret Developpement Durable</option>
        <option value="lmjo">Livret Jeune Mozaic</option>
        </select>
        <br />
        <br />
     
        VERS LE COMPTE : <br />
        <select name="vers">
        <option value="courant">Compte Courant</option>
        <option value="ldd">Livret Developpement Durable</option>
        <option value="lmjo">Livret Jeune Mozaic</option>
        <option value="pel">Plan Epargne Logement</option>
        <option value="pea_liq">PEA Poche Liquide</option>
        </select>
        <br />
        <br />
     
        MONTANT : <br />
        <input type="text" name="montant" />
     
    </select>
        <input type="submit" value="Valider" />
     
    </p>
    </form>
     </form>
    Nom : Capture d’écran 2021-03-28 à 12.36.07.png
Affichages : 66
Taille : 22,5 Ko

    Je récupère les informations dans la page cible "cibleapp.php" dont voici le code :

    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
    44
    45
    46
    47
    48
    49
    50
    51
     
    <p>Bonjour !</p>
    <P> Voici les informations saisies : </P>
     
    <p>Depuis le compte :  <?php echo $_POST['depuis']; ?> </p>
    <p>Vers le compte :  <?php echo $_POST['vers']; ?> </p>
    <p>Montant :  <?php echo $_POST['montant']; ?> </p>
     
    <?php 
    // On commence par récupérer les champs 
    if(isset($_POST['depuis']))      $nom=$_POST['depuis'];
    else      $depuis="";
     
    if(isset($_POST['vers']))      $prenom=$_POST['vers'];
    else      $vers="";
     
    if(isset($_POST['montant']))      $email=$_POST['montant'];
    else      $montant="";
     
     
     
    // On vérifie si les champs sont vides 
    if(empty($depuis) OR empty($vers) OR empty($montant)) 
        { 
        echo '<font color="red">Attention, aucun champ ne doit etre vide !</font>'; 
        } 
     
    // Aucun champ n'est vide, on peut enregistrer dans la table 
    else      
        { 
           // connexion à la base
    $db = mysql_connect('localhost', 'root', 'monmotdepasse')  or die('Erreur de connexion '.mysql_error());
    // sélection de la base  
     
        mysql_select_db('DB_wordpress',$db)  or die('Erreur de selection '.mysql_error()); 
     
        // on écrit la requête sql 
        $sql = "INSERT INTO wp_perso_mouvement(id_mouvement, depuis, vers, montant) VALUES('','$depuis','$vers','$montant')"; 
     
        // on insère les informations du formulaire dans la table 
        mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
     
        // on affiche le résultat pour le visiteur 
        echo 'Vos infos on été ajoutées.'; 
     
        mysql_close();  // on ferme la connexion 
        }  
    ?>
    <p>
    	<a href=" indexapp.php ">Retour au formulaire</a>
    </p>
    PS : Ce code a été honteusement pompé sur un site de tuto, et modifié pour coller à mon cas.

    Le problème, c'est que la page cible affiche bien les informations saisies. Les informations transitent donc bien via les variables $_POST[....]
    En revanche, dans le code php chargé d'insérer ces données dans la table d'une base MySQL, il considère les variables comme vide. En effet, c'est le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if(empty($depuis) OR empty($vers) OR empty($montant))
    qui s'applique et pas le "else".

    Voici l'affichage de la page "cible app.php" :

    Nom : Capture d’écran 2021-03-28 à 12.41.34.png
Affichages : 64
Taille : 25,7 Ko


    Quelqu'un a-t-il une idée d'où provient le problème ?

    Merci par avance :-)

  2. #2
    Membre averti
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2020
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Chef de projets

    Informations forums :
    Inscription : Février 2020
    Messages : 11
    Par défaut A moitié résolu !
    Au temps pour moi, j'avais oublié de modifier certaines variables de ce code "copié"...
    Maintenance, ça fonctionne presque !
    J'ai bien les bonnes valeurs qui s'affichent, en revanche je n'ai pas d'entrée dans ma table, et le message "Vos infos ont été ajoutées" ne s'affiche pas.
    Comme si la partie de code php concernant la base de données ne s'exécutait pas.
    La dernière partie du code, avec le lien permettant de revenir à la page "indexapp.php" ne s'execute pas non plus :

    Nom : Capture d’écran 2021-03-28 à 13.01.55.png
Affichages : 57
Taille : 20,2 Ko

  3. #3
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 668
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 668
    Par défaut
    vous pouvez trouver le souci en affichant le contenu des variables pour voir si elles contiennent la valeur attendue.

    pour l'affichage, vous pouvez essayer cette fonction qui affichera dans le code HTML, n'importe quelle variable composée d'objets, tableaux, code XML ou valeurs TRUE, FALSE ou NULL,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function aff($var) {
    	echo "<pre>";
    	echo htmlspecialchars(var_export($var, TRUE));
    	echo "</pre>";
    }

Discussions similaires

  1. [JSP] Frame a contenu variable
    Par christopheJ dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 25/03/2010, 12h18
  2. Réponses: 7
    Dernier message: 04/10/2006, 15h45
  3. [VBA-W]Insérer contenu variable dans page word
    Par jcaspar dans le forum VBA Word
    Réponses: 1
    Dernier message: 24/03/2006, 01h07
  4. [VB.Net]Comment assigner contenu variable> nom variable ?
    Par jazz matazz dans le forum VB.NET
    Réponses: 4
    Dernier message: 03/02/2006, 17h28
  5. <DIV> : Menu fixe mais contenu variable
    Par Hell dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 03/12/2005, 11h19

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