web-dev-qa-db-fra.com

Formulaire simple ne pas envoyer de données via _POST

Wow, alors c'est embarrassant. Ceci est juste supposé être un autre formulaire Web ennuyeux. J'en ai fait beaucoup auparavant, mais pour une raison quelconque, celui-ci ne veut pas coopérer. Est-ce que quelque chose me manque? J'essaie de comprendre cela depuis des heures. Je jure que j'ai tout essayé, sans aucune chance.

En gros, je tente d’envoyer via $ _POST dans un fichier PHP. Finalement, je vais utiliser AJAX, mais pour le moment, je n'arrive même pas à obtenir la bêtise de poster. Ainsi, lorsque vous cliquez sur soumettre, la page correspondante est affichée. Mais je reçois une erreur "Index non défini (pointe ensuite vers la ligne que j’appelle ma variable $ _POST). J'ai tout commenté du côté PHP (signup1.php). var_dump($_POST); afin que je puisse voir les données et que rien ne vienne de _POST, la bêtise est vide. Je pense vraiment que le problème est du côté HTML. Je posterai mon code exactement. Je vais garder tout cela là-dedans juste au cas où c'est la cause de l'erreur, peut-être que l'un de vous le saura. Vous remarquerez peut-être aussi que j'utilise bootstrap. C'est peut-être quelque chose? J'ai utilisé bootstrap pour formes avant et son travaillé, mais qui sait.

<form action="actions/signup1.php" method="post">
        <div class="row">
            <div class="col-md-6">
                <div class="form-group">
                    <label for="name">Name:</label>
                    <input type="text" id="name" class="form-control" placeholder="John Smith">
                </div>
            </div> <!-- end of name input column -->
            <div class="col-md-6">
                <div class="form-group">
                    <label for="phone">Phone Number:</label>
                    <input type="text" id="phone" class="form-control" placeholder="801-321-9876">
                </div> 
            </div> <!-- end of phone number input column -->
        </div> <!-- end of first .row of inputs -->

        <div class="row">
            <div class="col-md-6 column-sm-12">
                <div class="form-group">
                    <label for="email">Email Address:</label>
                    <input type="text" id="email" class="form-control" placeholder="[email protected]">
                </div>
            </div> <!-- end of email address input column -->

            <div class="col-md-3 col-sm-6">
                <div class="form-group">
                    <label for="city">City:</label>
                    <select id="city" class="form-control">
                        <option>Las Vegas</option>
                        <option>Salt Lake City</option>
                        <option>I'll Choose a Default Later...</option>
                    </select>
                </div>
            </div> <!-- end of city dropdown -->

            <div class="col-md-3 col-sm-6">
                <div class="form-group">
                    <label for="type-of-phone">Type of Phone:</label>
                    <select id="type-of-phone" class="form-control">
                        <option>iPhone</option>
                        <option>Android</option>
                        <option>Windows Phone</option>
                        <option>Blackberry</option>
                        <option>Other Cellphone</option>
                        <option>Landline</option>
                    </select>
                </div>
            </div> <!-- end of Smartphone Question Dropdown -->
        </div> <!-- end of second .row of inputs -->
        <div class="row">
            <div class="col-md-12"><input type="submit" value="Submit"></div>
        </div>
    </form>

Si quelqu'un a une idée s'il vous plaît faites le moi savoir. Je retire mes cheveux. J'ai pensé que je serais debout toute la nuit avec des problèmes pour interroger la base de données ou pour jouer avec le AJAX afin de le peaufiner, mais au lieu de cela, je ne parviens même pas à dépasser le formulaire de soumission des données RAW! Très frustrant. J'espère que quelqu'un peut voir le problème.

Pour mémoire, il s’agit de mon message exact une fois que le formulaire a été redirigé vers le signup1.php (oui, il s’affiche à la bonne page). Sur le PHP tout ce que je fais est un Var_dump de la variable $ _POST entière.

var_dump($_POST);

Et cela me montre ceci:

array(0) { } 
9
jacurtis

Vous devriez ajouter l'attribut name aux champs du formulaire.

Par exemple:

<input name="phone" type="text" id="phone" class="form-control" placeholder="801-321-9876">
45
Code Monkey

Essayez d'ajouter l'attribut name à chaque balise d'entrée et à la balise select. Cela devrait faire. 

3
Elvis Chidera

Essayez de donner un nom à chaque champ de vos champs de saisie et de fournir également le nom du bouton d'envoi. Donc, votre problème sera résolu.

0
rocky gupta

Utilisez le script rédigé:

<form action="actions/signup1.php" method="post">
        <div class="row">
            <div class="col-md-6">
                <div class="form-group">
                    <label for="name">Name:</label>
                    <input type="text" id="name" name="name" class="form-control" placeholder="John Smith">
                </div>
            </div> <!-- end of name input column -->
            <div class="col-md-6">
                <div class="form-group">
                    <label for="phone">Phone Number:</label>
                    <input name="phone" type="text" id="phone" class="form-control" placeholder="801-321-9876">
                </div> 
            </div> <!-- end of phone number input column -->
        </div> <!-- end of first .row of inputs -->

        <div class="row">
            <div class="col-md-6 column-sm-12">
                <div class="form-group">
                    <label for="email">Email Address:</label>
                    <input type="text" name="email" id="email" class="form-control" placeholder="[email protected]">
                </div>
            </div> <!-- end of email address input column -->

            <div class="col-md-3 col-sm-6">
                <div class="form-group">
                    <label for="city">City:</label>
                    <select id="city" name="city" class="form-control">
                        <option>Las Vegas</option>
                        <option>Salt Lake City</option>
                        <option>I'll Choose a Default Later...</option>
                    </select>
                </div>
            </div> <!-- end of city dropdown -->

            <div class="col-md-3 col-sm-6">
                <div class="form-group">
                    <label for="type-of-phone">Type of Phone:</label>
                    <select id="type-of-phone" name="type-of-phone" class="form-control">
                        <option>iPhone</option>
                        <option>Android</option>
                        <option>Windows Phone</option>
                        <option>Blackberry</option>
                        <option>Other Cellphone</option>
                        <option>Landline</option>
                    </select>
                </div>
            </div> <!-- end of Smartphone Question Dropdown -->
        </div> <!-- end of second .row of inputs -->
        <div class="row">
            <div class="col-md-12"><input type="submit" value="Submit"></div>
        </div>
    </form>

Sortie:

enter image description here

0
Pank