[RESOLU] Formulaire renvoi champ vide

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Formulaire renvoi champ vide

Re: Formulaire renvoi champ vide

par cindy381 » 17 juil. 2014, 00:59

mon problème viens de mon tableau mais je ne vois pas trop où ?

Tout semble correct, voir dans le message du dessus le code.

Merci pour votre aide à venir.

Re: Formulaire renvoi champ vide

par cindy381 » 16 juil. 2014, 18:38

Oups ! Excuse moi il est vrai que j'ai oublié les formule de politesse toutes mes excuse.
Donc , bjr à toutes et à tous voici j'ai mis à jour en fonction de ce que vous m'avez dit et lors de l'envoi j'ai toujours veuillez remplir les champs vide :/
<?php
   
   $erreurs = array();   //tableau contenant des messages d'erreurs

 /* traitement des erreurs
 * tous les champs du formulaire non remplis seront placés
 * dans le tableau des erreurs $erreurs.A la fin du traitement
 * ce tableau sera soit vide, auquel cas on exécute la requête insert
 * pour inserer les données en bd, soit ce tableau n'est pas vide(champs non remplis) on invite
 * l'utilisateur à remplir tous les champs

 */
  if(!empty($_POST)) {//soumission du formulaire
  
  //Verification titre
  if(empty($_POST['titre']))
  {
   $erreurs['titre'] = 'Renseigner un nom de sortie';
  }
 
  //Verification ville
  if(empty($_POST['city']))
  {
  $erreurs['city'] = 'Renseigner une ville';
  }
 
  //Verification code postal
  if(empty($_POST['postcode']))
  {
  $erreurs['postcode'] = 'Renseigner un code postal';
  }
  
  //Verification card-number
  if(empty($_POST['card-number']))
  {
  $erreurs['card-number'] = 'Renseigner un code postal';
  }
  
   //Verification card-cvc
  if(empty($_POST['card-cvc']))
  {
  $erreurs['card-cvc'] = 'Renseigner un code postal';
  }
  
   //Verification card-expiry-month
  if(empty($_POST['card-expiry-month']))
  {
  $erreurs['card-expiry-month'] = 'Renseigner un code postal';
  }
  
   //Verification card-expiry-year
  if(empty($_POST['card-expiry-year']))
  {
  $erreurs['card-expiry-year'] = 'Renseigner un code postal';
  }


//fin traitement des erreurs


//s'il y a  problème, procède au debogage en decommentant les 2 lignes çi-dessus:
//var_dump($_POST);
//die('fin debogage');


//le tableau d'erreurs est vide alors on insère les données
if( empty( $erreurs)  ){




$req = $bdd->prepare('INSERT INTO `orders` (`user_id`,`amount`,`created`, `titre`, `phone`, `street`, `postcode`, `city`)

VALUES ( :user_id,:amount, NOW(), :titre, :phone, :street, :postcode, :city)');

$req->execute(array(
'user_id' => $_POST['membre'],
'amount' => $_POST['amount'],
'titre'=>$_POST['titre'],
'phone'=>$_POST['phone'],
'street'=>$_POST['street'],
'postcode'=>$_POST['postcode'],
'city'=>$_POST['city']
));

$created = 'NOW()';

if( $retour ===false) echo "Problème lors de l'insertion";
       
}else{//le tableau ne contient
 echo "<p> renseignez les champs vides</p>";
}


}//fin de la soumission du formulaire

// reste à integrer le input photo
?>


<?php
// on introduit au script la librairie php de STRIPE
require_once('./lib/Stripe.php');

if ($_POST) {
  Stripe::setApiKey(" la clef de test");
  $error = '';
  $success = '';
  try {
    if (!isset($_POST['stripeToken']))
      throw new Exception("The Stripe Token was not generated correctly");
    Stripe_Charge::create(array("amount" => 1000,
                                "currency" => "usd",
                                "card" => $_POST['stripeToken']));
    $success = 'Le paiement à bien était effectué.';
  }
  catch (Exception $e) {
    $error = $e->getMessage();
  }
}
?>

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
        <title>Stripe Getting Started Form</title>
        <script type="text/javascript" src="https://js.stripe.com/v1/"></script>
        <!-- jQuery is used only for this example; it isn't required to use Stripe -->
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
        <script type="text/javascript">
            // this identifies your website in the createToken call below
            Stripe.setPublishableKey('pk_test_4Mjwmnwe6y4wKRdygwOxfrAM');

            function stripeResponseHandler(status, response) {
                if (response.error) {
                    // re-enable the submit button
                    $('.submit-button').removeAttr("disabled");
                    // show the errors on the form
                    $(".payment-errors").html(response.error.message);
                } else {
                    var form$ = $("#payment-form");
                    // token contains id, last4, and card type
                    var token = response['id'];
                    // insert the token into the form so it gets submitted to the server
                    form$.append("<input type='hidden' name='stripeToken' value='" + token + "' />");
                    // and submit
                    form$.get(0).submit();
                }
            }

            $(document).ready(function() {
                $("#payment-form").submit(function(event) {
                    // disable the submit button to prevent repeated clicks
                    $('.submit-button').attr("disabled", "disabled");

                    // createToken returns immediately - the supplied callback submits the form if there are no errors
                    Stripe.createToken({
                        number: $('.card-number').val(),
                        cvc: $('.card-cvc').val(),
                        exp_month: $('.card-expiry-month').val(),
                        exp_year: $('.card-expiry-year').val()
                    }, stripeResponseHandler);
                    return false; // submit from callback
                });
            });
        </script>
    </head>
    <body>
        <h1>Charge $10 with Stripe</h1>
        <!-- to display errors returned by createToken -->
        <form action="stripe.php" method="POST" id="payment-form">
            <div class="form-row">
                <label>Card Number</label>
                <input type="text" name="card-number" size="20" autocomplete="off" class="card-number" value="<?php if(isset($_POST['card-number'])) echo $_POST['card-number'];?>" />
      <div class="error"><?php if(isset($erreurs['card-number'])) echo $erreurs['card-number'];?></div>
      
            </div>
            <div class="form-row">
                <label>CVC</label>
                <input type="text" name="card-cvc" size="4" autocomplete="off" class="card-cvc" value="<?php if(isset($_POST['card-cvc'])) echo $_POST['card-cvc'];?>" />
      <div class="error"><?php if(isset($erreurs['card-cvc'])) echo $erreurs['card-cvc'];?></div>
      
            </div>
            <div class="form-row">
                <label>Expiration (MM/YYYY)</label>
                <input  type="text" name="card-expiry-month" size="2" class="card-expiry-month" value="<?php if(isset($_POST['card-expiry-month'])) echo $_POST['card-expiry-month'];?>" />
      <div class="error"><?php if(isset($erreurs['card-expiry-month'])) echo $erreurs['card-expiry-month'];?></div>
      
                <span> / </span>
                <input type="text"  name="card-expiry-year" size="4" class="card-expiry-year" value="<?php if(isset($_POST['card-expiry-year'])) echo $_POST['card-expiry-year'];?>" />
      <div class="error"><?php if(isset($erreurs['card-expiry-year'])) echo $erreurs['card-expiry-year'];?></div>
            </div>
            
           <select name="amount">
<?php
$req = $bdd->query('SELECT * FROM offers');
while($d = $req->fetch(PDO::FETCH_ASSOC)){
        ?>
    <option value="<?php echo $d['price']; ?>"><?php echo $d['name'];?> -<?php echo $d['price'];?> Euros</option>
        <?php
}
?>
</select>


 
     
      <!-- Ville de la sortie -->
      <label>Ville *</label>
      <input class="form-control" type="text" name="city" value="<?php if(isset($_POST['city'])) echo $_POST['city'];?>" />
      <div class="error"><?php if(isset($erreurs['city'])) echo $erreurs['city'];?></div>
     
     
       <!-- Ville de la sortie -->
      <label>Rue</label>
      <input class="form-control" type="text" name="street" value="<?php if(isset($_POST['street'])) echo $_POST['street'];?>" />
      <div class="error"><?php if(isset($erreurs['street'])) echo $erreurs['street'];?></div>
     
      <!-- Code postal de la sortie -->
      <label>Code postal *</label>
      <input class="form-control" type="text" name="postcode" value="<?php if(isset($_POST['postcode'])) echo $_POST['postcode'];?>" />
      <div class="error"><?php if(isset($erreurs['postcode'])) echo $erreurs['postcode'];?></div>
     

       <label>Télephone</label>
       <input class="form-control" type="text" name="phone" value="<?php if(isset($_POST['phone'])) echo $_POST['phone'];?>" />
       <div class="error"><?php if(isset($erreurs['phone'])) echo $erreurs['phone'];?></div>
       
       <input name="membre" type="text" value="<?php echo $_SESSION['user']['id'] ?>" />
       
            <button type="submit" class="submit-button">Submit Payment</button>
        </form>

Re: Formulaire renvoi champ vide

par sirakawa » 16 juil. 2014, 15:54

Chalut, les pécheurs,
Un formulaire comprend un tag
<form method ='post' action = ''>

<button type = 'submit'>OK</button>
</form>
Et sauf erreur je ne vois rien de semblable....

Re: Formulaire renvoi champ vide

par moogli » 16 juil. 2014, 15:42

salut,

les formules de politesse c'est mieux quand on demande quelque chose ...

tu n'as pas mis de nom aux champs de formulaire donc pas d'envois des champs lorsque tu valide le formulaire.

si le problème est coté JS la c'est autre chose il te faut déboguer le script (avec chrome par exemple).

@+

Formulaire renvoi champ vide

par cindy381 » 16 juil. 2014, 14:51

Mon problème est tout bête je ne vois pas pourquoi mon formulaire me renvoi renseigner les champ vide alors que je les compléte.
Apparament ce sont les champs au niveau de la carte de crédit qui bloquent:
<div class="form-row">
                <label>Card Number</label>
                <input type="text" size="20" autocomplete="off" class="card-number" />
            </div>
            <div class="form-row">
                <label>CVC</label>
                <input type="text" size="4" autocomplete="off" class="card-cvc" />
            </div>
            <div class="form-row">
                <label>Expiration (MM/YYYY)</label>
                <input type="text" size="2" class="card-expiry-month"/>
                <span> / </span>
                <input type="text" size="4" class="card-expiry-year" />
            </div>
<?php
   
   $erreurs = array();   //tableau contenant des messages d'erreurs

 /* traitement des erreurs
 * tous les champs du formulaire non remplis seront placés
 * dans le tableau des erreurs $erreurs.A la fin du traitement
 * ce tableau sera soit vide, auquel cas on exécute la requête insert
 * pour inserer les données en bd, soit ce tableau n'est pas vide(champs non remplis) on invite
 * l'utilisateur à remplir tous les champs

 */
  if(!empty($_POST)) {//soumission du formulaire
  
  //Verification titre
  if(empty($_POST['titre']))
  {
   $erreurs['titre'] = 'Renseigner un nom de sortie';
  }
 
  //Verification ville
  if(empty($_POST['city']))
  {
  $erreurs['city'] = 'Renseigner une ville';
  }
 
  //Verification code postal
  if(empty($_POST['postcode']))
  {
  $erreurs['postcode'] = 'Renseigner un code postal';
  }
 


//fin traitement des erreurs


//s'il y a  problème, procède au debogage en decommentant les 2 lignes çi-dessus:
//var_dump($_POST);
//die('fin debogage');


//le tableau d'erreurs est vide alors on insère les données
if( empty( $erreurs)  ){




$req = $bdd->prepare('INSERT INTO `orders` (`user_id`,`amount`,`created`, `titre`, `phone`, `street`, `postcode`, `city`)

VALUES ( :user_id,:amount, NOW(), :titre, :phone, :street, :postcode, :city)');

$req->execute(array(
'user_id' => $_POST['membre'],
'amount' => $_POST['amount'],
'titre'=>$_POST['titre'],
'phone'=>$_POST['phone'],
'street'=>$_POST['street'],
'postcode'=>$_POST['postcode'],
'city'=>$_POST['city']
));

$created = 'NOW()';

if( $retour ===false) echo "Problème lors de l'insertion";
       
}else{//le tableau ne contient
 echo "<p> renseignez les champs vides</p>";
}


}//fin de la soumission du formulaire

// reste à integrer le input photo
?>
<?php
// on introduit au script la librairie php de STRIPE
require_once('./lib/Stripe.php');

if ($_POST) {
  Stripe::setApiKey("entri-keys");
  $error = '';
  $success = '';
  try {
    if (!isset($_POST['stripeToken']))
      throw new Exception("The Stripe Token was not generated correctly");
    Stripe_Charge::create(array("amount" => 1000,
                                "currency" => "usd",
                                "card" => $_POST['stripeToken']));
    $success = 'Le paiement à bien était effectué.';
  }
  catch (Exception $e) {
    $error = $e->getMessage();
  }
}
?>

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
        <title>Stripe Getting Started Form</title>
        <script type="text/javascript" src="https://js.stripe.com/v1/"></script>
        <!-- jQuery is used only for this example; it isn't required to use Stripe -->
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
        <script type="text/javascript">
            // this identifies your website in the createToken call below
            Stripe.setPublishableKey('pk_test_4Mjwmnwe6y4wKRdygwOxfrAM');

            function stripeResponseHandler(status, response) {
                if (response.error) {
                    // re-enable the submit button
                    $('.submit-button').removeAttr("disabled");
                    // show the errors on the form
                    $(".payment-errors").html(response.error.message);
                } else {
                    var form$ = $("#payment-form");
                    // token contains id, last4, and card type
                    var token = response['id'];
                    // insert the token into the form so it gets submitted to the server
                    form$.append("<input type='hidden' name='stripeToken' value='" + token + "' />");
                    // and submit
                    form$.get(0).submit();
                }
            }

            $(document).ready(function() {
                $("#payment-form").submit(function(event) {
                    // disable the submit button to prevent repeated clicks
                    $('.submit-button').attr("disabled", "disabled");

                    // createToken returns immediately - the supplied callback submits the form if there are no errors
                    Stripe.createToken({
                        number: $('.card-number').val(),
                        cvc: $('.card-cvc').val(),
                        exp_month: $('.card-expiry-month').val(),
                        exp_year: $('.card-expiry-year').val()
                    }, stripeResponseHandler);
                    return false; // submit from callback
                });
            });
        </script>
    </head>
    <body>
        <h1>Charge $10 with Stripe</h1>
        <!-- to display errors returned by createToken -->
        <form action="stripe.php" method="POST" id="payment-form">
            <div class="form-row">
                <label>Card Number</label>
                <input type="text" size="20" autocomplete="off" class="card-number" />
            </div>
            <div class="form-row">
                <label>CVC</label>
                <input type="text" size="4" autocomplete="off" class="card-cvc" />
            </div>
            <div class="form-row">
                <label>Expiration (MM/YYYY)</label>
                <input type="text" size="2" class="card-expiry-month"/>
                <span> / </span>
                <input type="text" size="4" class="card-expiry-year" />
            </div>
            
           <select name="amount">
<?php
$req = $bdd->query('SELECT * FROM offers');
while($d = $req->fetch(PDO::FETCH_ASSOC)){
        ?>
    <option value="<?php echo $d['price']; ?>"><?php echo $d['name'];?> -<?php echo $d['price'];?> Euros</option>
        <?php
}
?>
</select>


 
     
      <!-- Ville de la sortie -->
      <label>Ville *</label>
      <input class="form-control" type="text" name="city" value="<?php if(isset($_POST['city'])) echo $_POST['city'];?>" />
      <div class="error"><?php if(isset($erreurs['city'])) echo $erreurs['city'];?></div>
     
     
       <!-- Ville de la sortie -->
      <label>Rue</label>
      <input class="form-control" type="text" name="street" value="<?php if(isset($_POST['street'])) echo $_POST['street'];?>" />
      <div class="error"><?php if(isset($erreurs['street'])) echo $erreurs['street'];?></div>
     
      <!-- Code postal de la sortie -->
      <label>Code postal *</label>
      <input class="form-control" type="text" name="postcode" value="<?php if(isset($_POST['postcode'])) echo $_POST['postcode'];?>" />
      <div class="error"><?php if(isset($erreurs['postcode'])) echo $erreurs['postcode'];?></div>
     

       <label>Télephone</label>
       <input class="form-control" type="text" name="phone" value="<?php if(isset($_POST['phone'])) echo $_POST['phone'];?>" />
       <div class="error"><?php if(isset($erreurs['phone'])) echo $erreurs['phone'];?></div>
       
       <input name="membre" type="text" value="<?php echo $_SESSION['user']['id'] ?>" />
       
            <button type="submit" class="submit-button">Submit Payment</button>
        </form>