Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1750 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  recuperation variables par mail

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

recuperation variables par mail

n°1247670
vincent220​8
Posté le 17-11-2005 à 15:28:06  profilanswer
 

Bonjour je souhaiterai recuperer 2 variables par email : pour un panier, la reference et la quantité: j'ai quelque chose comme ceci mais je ne m'en sort pas je pense ne pas etre loin de la solution mais j'aurais besoin d'un coup de pouce:

Code :
  1. <?php
  2. txt = "Salut\nReférence: $ref\nquantité: $qnte\nformule de politesse";
  3. mail('mon@email.com','sujet',$txt,'From: vincent <mon@email.com>'); ?>


salutations

mood
Publicité
Posté le 17-11-2005 à 15:28:06  profilanswer
 

n°1247747
soju
One shot !
Posté le 17-11-2005 à 16:45:41  profilanswer
 

qui me prête sa boule de cristal ?

n°1247750
vincent220​8
Posté le 17-11-2005 à 16:48:38  profilanswer
 

il manque des infos?
:-)

n°1247764
soju
One shot !
Posté le 17-11-2005 à 16:57:50  profilanswer
 

vincent2208 a écrit :

il manque des infos?

quel est le problème tout simplement ? message d'erreur ? ...etc
PS: il manque aussi un $ au début de la ligne 2...

n°1247785
vincent220​8
Posté le 17-11-2005 à 17:09:55  profilanswer
 

je voudrai collecter des données par email depuis un panier:
il faudrait les references ainsi que les quantités:
formulaire envoi sur panier.php

Code :
  1. <form method="post" action="/panier.php" >
  2. input type="submit" name="Submit" value="Envoyer">
  3. </form>
  4. code envoi.php:
  5. [cpp]<?php
  6. $txt = "Salut\nReférence: $ref\nquantité: $quantite\nformule de politesse";
  7. mail('contact@monmail.com','sujet',$txt,'From: vincent <contact@monmail.com>'); ?>


 
 
code panier
[/cpp]<?php
/*
NOTES / explications :
variables panier sous la forme : $_SESSION['panier'][reference][array(designation=>blabla,prixht=>blabla,quantite=>blabla);
 
Anti reload :
Afin de protéger le panier d'une incrémentation lors d'un reload de la page ou d'un prec/suiv, chaque chargement du formulaire  
est identifié avec un ID unique ($_POST['panier_lock']) qui est également enregistré dans une variable de session ($_SESSION['panier_lock'])
Ces deux variables sont ensuite comparées à l'arrivée sur la page panier. Si elles sont identiques, l'article est ajouté, puis la variable  
de session est détruite en fin de script.
*/
session_start();
$tot_ht=0; // montant total HT
if (!isset($_SESSION['panier'])) $_SESSION['panier']=array();
 
if (isset($_POST['ref']) && isset($_SESSION['panier_lock']) && isset($_POST['panier_lock'])) { // si il s'agit de l'ajout d'un article et que la page n'a pas déjà été appellée
    // un peu de sécurité
    $prixht=$_POST['prixht'];
    settype($prixht,"float" );
    $ref=strip_tags($_POST['ref']);
    $quantite=$_POST['quantite'];
    settype($quantite,"int" );
    if ($prixht==0) $quantite=0;
 
     
    // protection reload
    if ($_POST['panier_lock']===$_SESSION['panier_lock']) {
        $panier_lock=true; // autorise la modification du panier
    } else {
        $panier_lock=false; // interdit la modification du panier
    }
     
    if ($panier_lock==true) { // autorisation ajout panier
        if (array_key_exists($ref, $_SESSION['panier'])) { // la ref existe déjà dans le panier
            $_SESSION['panier'][$ref]['quantite']+=$_POST['quantite']; // ajout de la quantité à celle existante pour le même article
        } else { // la ref n'est pas encore présente dans le panier, on l'ajoute
            $_SESSION['panier'][$ref]['designation'] = $_POST['designation'];
             $_SESSION['panier'][$ref]['prixht'] = $prixht;
             $_SESSION['panier'][$ref]['quantite'] = $_POST['quantite'];
        }
    }
}
 
if (count($_SESSION['panier'])) { // si le panier n'est pas vide
    echo'
    <style type="text/css">
    <!--
    body,td,th {
     color: #006699;
    }
    body {
     background-image: url(../design/styles/fond.gif);
    }
    -->
    </style>
    <link href="../design/styles/styles.css" rel="stylesheet" type="text/css">
    <table width="100%"  border="1" bordercolor="#FFFFFF" bgcolor="#FFFFFF">
      <tr bordercolor="#BDDFE1" bgcolor="#BDDFE1" class="menugauche">
        <td width="20%">Reference</td>
        <td width="20%" bordercolor="#BDDFE1">Description</td>
        <td width="20%">Quantit&eacute;</td>
        <td width="20%">Prix HT &euro; unitaire </td>
        <td width="20%">Total HT &euro; </td>
      </tr>
    </table>
    <table width="100%" border="1" bordercolor="#FFFFFF" bgcolor="#FFFFFF" >
        ';
         
        foreach($_SESSION['panier'] as $key => $value) { // pour chaque éléments du panier
            echo '<tr>
        <td width="20%">'.$key.'</td>
        <td width="20%">'.$_SESSION['panier'][$key]['designation'].'</td>
        <td width="20%">'.$_SESSION['panier'][$key]['quantite'].'</td>
        <td width="20%">'.$_SESSION['panier'][$key]['prixht'].'</td>';
         
                $tot_line=$_SESSION['panier'][$key]['quantite'] * $_SESSION['panier'][$key]['prixht']; // total HT / ref
                $tot_ht +=$tot_line; // calcul le montant total HT du panier
         
        echo '<td width="20%">'.number_format(round($tot_line,2), 2, '.', ' ').'</td>
        </tr>';
      }
            echo '<tr><td colspan="4">Montant total HT de votre commande (&euro;)</td><td width="13%">'.number_format(round($tot_ht,2), 2,'.', ' ').' &euro;</td></tr></table>';
 
} else {
    echo 'Votre panier ne contient aucun article.'; // le client n'a pas d'article dans son panier
}
unset($_SESSION['panier_lock']); // enclenche le verrouillage
?>[cpp]

n°1247796
vincent220​8
Posté le 17-11-2005 à 17:17:14  profilanswer
 

Code :
  1. <?php
  2. /*
  3. NOTES / explications :
  4. variables panier sous la forme : $_SESSION['panier'][reference][array(designation=>blabla,prixht=>blabla,quantite=>blabla);
  5. Anti reload :
  6. Afin de protéger le panier d'une incrémentation lors d'un reload de la page ou d'un prec/suiv, chaque chargement du formulaire  
  7. est identifié avec un ID unique ($_POST['panier_lock']) qui est également enregistré dans une variable de session ($_SESSION['panier_lock'])
  8. Ces deux variables sont ensuite comparées à l'arrivée sur la page panier. Si elles sont identiques, l'article est ajouté, puis la variable  
  9. de session est détruite en fin de script.
  10. */
  11. session_start();
  12. $tot_ht=0; // montant total HT
  13. if (!isset($_SESSION['panier'])) $_SESSION['panier']=array();
  14. if (isset($_POST['ref']) && isset($_SESSION['panier_lock']) && isset($_POST['panier_lock'])) { // si il s'agit de l'ajout d'un article et que la page n'a pas déjà été appellée
  15.     // un peu de sécurité
  16.     $prixht=$_POST['prixht'];
  17.     settype($prixht,"float" );
  18.     $ref=strip_tags($_POST['ref']);
  19.     $quantite=$_POST['quantite'];
  20.     settype($quantite,"int" );
  21.     if ($prixht==0) $quantite=0;
  22.    
  23.     // protection reload
  24.     if ($_POST['panier_lock']===$_SESSION['panier_lock']) {
  25.         $panier_lock=true; // autorise la modification du panier
  26.     } else {
  27.         $panier_lock=false; // interdit la modification du panier
  28.     }
  29.    
  30.     if ($panier_lock==true) { // autorisation ajout panier
  31.         if (array_key_exists($ref, $_SESSION['panier'])) { // la ref existe déjà dans le panier
  32.             $_SESSION['panier'][$ref]['quantite']+=$_POST['quantite']; // ajout de la quantité à celle existante pour le même article
  33.         } else { // la ref n'est pas encore présente dans le panier, on l'ajoute
  34.             $_SESSION['panier'][$ref]['designation'] = $_POST['designation'];
  35.              $_SESSION['panier'][$ref]['prixht'] = $prixht;
  36.              $_SESSION['panier'][$ref]['quantite'] = $_POST['quantite'];
  37.         }
  38.     }
  39. }
  40. if (count($_SESSION['panier'])) { // si le panier n'est pas vide
  41.     echo'
  42.     <style type="text/css">
  43.     <!--
  44.     body,td,th {
  45.      color: #006699;
  46.     }
  47.     body {
  48.      background-image: url(../design/styles/fond.gif);
  49.     }
  50.     -->
  51.     </style>
  52.     <link href="../design/styles/styles.css" rel="stylesheet" type="text/css">
  53.     <table width="100%"  border="1" bordercolor="#FFFFFF" bgcolor="#FFFFFF">
  54.       <tr bordercolor="#BDDFE1" bgcolor="#BDDFE1" class="menugauche">
  55.         <td width="20%">Reference</td>
  56.         <td width="20%" bordercolor="#BDDFE1">Description</td>
  57.         <td width="20%">Quantit&eacute;</td>
  58.         <td width="20%">Prix HT &euro; unitaire </td>
  59.         <td width="20%">Total HT &euro; </td>
  60.       </tr>
  61.     </table>
  62.     <table width="100%" border="1" bordercolor="#FFFFFF" bgcolor="#FFFFFF" >
  63.         ';
  64.        
  65.         foreach($_SESSION['panier'] as $key => $value) { // pour chaque éléments du panier
  66.             echo '<tr>
  67.         <td width="20%">'.$key.'</td>
  68.         <td width="20%">'.$_SESSION['panier'][$key]['designation'].'</td>
  69.         <td width="20%">'.$_SESSION['panier'][$key]['quantite'].'</td>
  70.         <td width="20%">'.$_SESSION['panier'][$key]['prixht'].'</td>';
  71.        
  72.                 $tot_line=$_SESSION['panier'][$key]['quantite'] * $_SESSION['panier'][$key]['prixht']; // total HT / ref
  73.                 $tot_ht +=$tot_line; // calcul le montant total HT du panier
  74.        
  75.         echo '<td width="20%">'.number_format(round($tot_line,2), 2, '.', ' ').'</td>
  76.         </tr>';
  77.       }
  78.             echo '<tr><td colspan="4">Montant total HT de votre commande (&euro;)</td><td width="13%">'.number_format(round($tot_ht,2), 2,'.', ' ').' &euro;</td></tr></table>';
  79. } else {
  80.     echo 'Votre panier ne contient aucun article.'; // le client n'a pas d'article dans son panier
  81. }
  82. unset($_SESSION['panier_lock']); // enclenche le verrouillage
  83. ?>


ps je repost le code panier il y a eu une ereure et ce n'est pas trés clair

n°1247824
soju
One shot !
Posté le 17-11-2005 à 17:35:04  profilanswer
 

on ne sait toujours pas quel est ton problème ou message d'erreur :o  
et on ne vas pas s'amuser à lire ton code sans avoir ces infos...
 
PS: au lieu de reposter, il y a le bouton edit http://forum-images.hardware.fr/themes_static/images_forum/1/edit.gif

n°1247833
vincent220​8
Posté le 17-11-2005 à 17:42:10  profilanswer
 

il n y a pas d'erreure je n'y arrive pas..

n°1247858
vincent220​8
Posté le 17-11-2005 à 17:56:08  profilanswer
 

En fait je voudrai 'simplement' recuperer les variable ref et quantite de panier.php par email.

n°1247878
Trollable
Posté le 17-11-2005 à 18:09:45  profilanswer
 

Tel que je le comprends,

Code :
  1. <?php
  2.   session_start(); 
  3.   $txt = "Salut\n";
  4.   foreach($_SESSION['panier'] as $key => $value) {
  5.     $ref = $key;
  6.     $quantite = $value['quantite'];
  7.     $txt .= "Reférence: $ref\nquantité: $qnte\n";
  8.   }
  9.   $txt .= "formule de politesse";
  10.   mail('mon@email.com','sujet',$txt,'From: vincent <mon@email.com>');
  11. ?>


---------------
The Million Dollar Screenshot  (seo v7ndotcom elursrebmem paesys wifi)
mood
Publicité
Posté le 17-11-2005 à 18:09:45  profilanswer
 

n°1247886
vincent220​8
Posté le 17-11-2005 à 18:20:11  profilanswer
 

merci de ta reponse
cela me fait une erreure
Warning: Invalid argument supplied for foreach() in /home/.sites/125/site219/web/commandes/panier1.php on line 4

n°1247914
vincent220​8
Posté le 17-11-2005 à 19:35:16  profilanswer
 

je ne comprends plus rien..

n°1248440
vincent220​8
Posté le 18-11-2005 à 15:06:37  profilanswer
 

donc ce matin cela fonctionne corectement, surement un probleme sur le serveur hier soir, merci pour votre aide:
PROBLEME RESOLU.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  recuperation variables par mail

 

Sujets relatifs
Demande d'adresses mail sur page d'accueilmail.php avec wanadoo
Formulaire et mailFormulaire d'inscription qui envoi tout par mail?
Initialiser des variables avec Stdout et stderrPBM passer des variables entre swf
Adresse mail comme nom de domaineEnvoi d'un mail à l'internaute si "Oui" est coché
Récupération des éléments d'un fichier xml en flux retourfonction mail()
Plus de sujets relatifs à : recuperation variables par mail


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR