0

私には2つの問題があります:

  1. 彼は私がフォームに入れた名前を送ってくれません。
  2. 彼は、私が商品として入れた最後のものと金額を送るだけです。

例: を入力してNaam: TOM, Productnaam: Zwart 26, aantal: 4をクリックtoevoegenすると、表示されます。次に を入力してもう一度Naam: TOM, Productnaam: Zwart 11 , aantal : 5クリックすると、他の注文の下に表示されます。toevoegenその後、送信するとすべてがうまくいきますが、メールを見ると次のようになります。

Naam: 5 x Zwart 11

これらの問題の助けはありますか?

 <?php
    include "authenticatie1_p88";
    ?>
    <?php

    ini_set("SMTP", "smtp.olvgroeninge.be");
    ini_set("smtp_port", 25);
    ini_set ("sendmail_from", "johan.dejonckheere@sintamandscollege.be");
    session_start();

    // Toevoegen
    if( isset( $_GET['ADD'] ) && ereg('^[1-9][0-9]*$', $_GET['aantal'])) {
    $_SESSION['winkelwagen'][$_GET['ID']] = $_GET['aantal'];}

    // Verwijderen
    if( isset( $_GET['DEL'] ) ) {
    unset($_SESSION['winkelwagen'][$_GET['ID']]);}

    // Alles verwijderen
    if( isset( $_GET['EMP'] ) ) {
    unset($_SESSION['winkelwagen']);}

    // Laat lijst zien
    if( isset( $_SESSION['winkelwagen'] ) ) {
    foreach ( $_SESSION['winkelwagen'] as $key=>$val ) {
    echo "$val x $key<br>";}}

    //Verzend de bestelling naar het emailadres
    if( isset( $_GET['VER'] ) ) {
    $boodschap2 = print_r( $key, true );
    $boodschap = "Naam: ".$_GET["naam"]."$val x $key";
        mail("nielbutaye@gmail.com","Uw inkt bestelling", $boodschap);
        echo "Uw gegevens zijn verstuurd";}
    ?>
    <form><table width="200" border="0" align="center">
      <tr>
        <td><img src="images/hewlett-packard-51626ae-hp-26-hp51626a.jpg" width="350" height="350" /></td>
        <td><img src="images/hewlett-packard-c4810a-hp-11-hpc4810a.jpg" width="350" height="350" /></td>
        <td><img src="images/intktpatroona.jpg" width="400" height="400" /></td>
      </tr>
      <tr>
        <td>Product: Zwart 26</td>
        <td>Product: Zwart 11</td>
        <td>Product: Gekleurd 57</td>
      </tr>
    </table>

      <p>Naam: 
      <input type="text" name="naam" value="<?php echo $_POST["naam"] ?>"><br>
        Product:
      <input type="text" name="ID"><br>
        Aantal:
      <input type="text" name="aantal"><br>
      <input type="submit" name="ADD" value="Toevoegen">
      <input type="submit" name="DEL" value="Verwijderen">
      <input type="submit" name="EMP" value="Legen">
      <input type="submit" name="VER" value="Verzenden">
      </p>
    </form>
4

1 に答える 1

1

$valメール送信部分でのandの使用は、まだループ$key内にいると考えていることを示唆していますが、そうではありません。foreachこれに置き換えてみてください:

//Verzend de bestelling naar het emailadres
if( isset( $_GET['VER'] ) ) {

    $boodschap2 = '';
    foreach ( $_SESSION['winkelwagen'] as $key=>$val ) {
        $boodschap2 .= "$val x $key<br>";}
    }

    $boodschap = "Naam: " . $_GET["naam"] . '<br>' .  $boodschap2;
    mail("nielbutaye@gmail.com","Uw inkt bestelling", $boodschap);
    echo "Uw gegevens zijn verstuurd";
}

お役に立てれば。

于 2012-05-30T12:15:18.900 に答える