0

私は約 2 週間取り組んできたプロジェクトのホームストレッチにいます。私の HTML フォームは作成され、PHP と完全かつ機能的に互換性があります。現在、フォームを送信すると結果が返されます。この時点では、次にどこに行くべきかわかりません。

そのページから情報を取得し、数値のデジタル署名 (PIN によく似ています) を追加し、最終結果を PHP を使用して電子メールで送信できるようにしたいと考えています。

2つを別々に行うことができます。IE - 結果をエコーするフォームを作成したり、結果をすぐに電子メールで送信するフォームを作成したりできますが、それらを相互に連携させる方法がわかりません。

デジタル署名を追加しながら、フォームのエコー結果を電子メールとして送信するにはどうすればよいですか?

(私はPHPに非常に慣れていないため、コードを提供していないため、誰かが私のためにこれを行うとは思っていませんが、Google検索で関連情報を見つけるのに苦労しているので、正しいことを教えてくれます指示は信じられないほど役に立ちます。)

ありがとう

そして今、私はよく知っています。すべてのコード:

HTML

<form action="echo_form_email.php" method="GET">

<p>
<div id="cheddar">Cashier: <input id="cashier" name="cashier" type="text"></div> 
</p>

<P>
<div id="q">Did the cashier front the register?</div>
<div id="radio1"><input type="checkbox" name="front_register" value="Yes">Yes</div> 
    <div id="radio2"><input type="checkbox" name="front_register" value="No">No</div> 
<div id="radio3"><input type="checkbox" name="front_register" value="N/A">N/A</div>
</p>

<p>
<div id="q">Genuinely greet customer with eye contact?</div>
<div id="radio1"><input type="checkbox" name="greets" value="Yes">Yes</div> 
<div id="radio2"><input type="checkbox" name="greets" value="No">No</div> 
</p>

<p>
<div id="q">Scan/unload B.O.B. (If no bagger)</div>
<div id="radio1"><input type="checkbox" name="scan_bob" value="Yes">Yes</div> 
<div id="radio2"><input type="checkbox" name="scan_bob" value="No">No</div> 
<div id="radio3"><input type="checkbox" name="scan_bob" value="N/A">N/A</div>
</p>

<p>
<div id="q">Carry conversation around product in basket or genuine conversation?</div>
<div id="radio1"><input type="checkbox" name="conversation" value="Yes">Yes</div> 
<div id="radio2"><input type="checkbox" name="conversation" value="No">No</div> 
<div id="radio3"><input type="checkbox" name="conversation" value="N/A">N/A</div>
</p>

<p>
<div id="q">Offer buddy bucks to parent at beginning of order?</div>
<div id="radio1"><input type="checkbox" name="buddy" value="Yes">Yes</div> 
<div id="radio2"><input type="checkbox" name="buddy" value="No">No</div> 
<div id="radio3"><input type="checkbox" name="buddy" value="N/A">N/A</div> 
</p>

<p>
<div id="q">Avoid side conversations?</div>
<div id="radio1"><input type="checkbox" name="side_conversation" value="Yes">Yes</div> 
<div id="radio2"><input type="checkbox" name="side_conversation" value="No">No</div> 
</p>

<p>
<div id="q">Point out and circle savings?</div>
<div id="radio1"><input type="checkbox" name="savings" value="Yes">Yes</div> 
<div id="radio2"><input type="checkbox" name="savings" value="No">No</div> 
<div id="radio3"><input type="checkbox" name="savings" value="N/A">N/A</div>
</p>

<p>
<div id="q">Offer carryout (if no bagger)?</div>
<div id="radio1"><input type="checkbox" name="carry_out" value="Yes">Yes</div> 
<div id="radio2"><input type="checkbox" name="carry_out" value="No">No</div> 
<div id="radio3"><input type="checkbox" name="carry_out" value="N/A">N/A</div>
</p>

<p>
<div id="q">Give a genuine "thank you"?</div>
<div id="radio1"><input type="checkbox" name="thanks" value="Yes">Yes</div> 
<div id="radio2"><input type="checkbox" name="thanks" value="No">No</div> 
</p>

<p>
<div id="cheddar">Digital Signature</div>
<div id="cheddar"><input type="tel" name="sign1" placeholder="Peoplesoft ID"></div>
</p>

<p>
<div id="auditingasm">ASM performing audit: <br />
<select name="asm">
<option value="John Doe">John Doe</option>
<option value="Jane Doe">Jane Doe</option>
<option value="Little Doe">Little Doe</option>
<option value="Big Doe">Big Doe</option>
</select></div>
</p>

<br />
<input type="submit" value="submit" name="submit">
<input id="reset" type="reset">
</form>

PHP フォーム エコー

<?PHP
if (! empty($_GET['cashier'])){
   echo 'Cashier receiving audit: ' . $_GET['cashier'];
}
echo "<br />";
if (! empty($_GET['asm'])){
   echo 'ASM performing audit: ' . $_GET['asm'];
}
echo "<br /><Br />";
if (! empty($_GET['front_register'])){
   echo 'Did cashier front the register? ' . $_GET['front_register'];
}
echo "<br />";
if (! empty($_GET['greets'])){
   echo 'Greet customer with eye contact? ' . $_GET['greets'];
}
echo "<br />";
if (! empty($_GET['scan_bob'])){
   echo 'Scan/Unload BOB (if no bagger) ' . $_GET['scan_bob'];
}
echo "<br />";
if (! empty($_GET['conversation'])){
   echo 'Conversation about groceries, or other genuine conversation? ' .     $_GET['conversation'];
}
echo "<br />";
if (! empty($_GET['buddy'])){
   echo 'Offer Buddy bucks to parent at beginning of order? ' . $_GET['buddy'];
}
echo "<br />";
if (! empty($_GET['side_conversation'])){
   echo 'No side conversations? ' . $_GET['side_conversation'];
}
echo "<br />";
if (! empty($_GET['savings'])){
   echo 'Cashier pointed to and circled savings? ' . $_GET['savings'];
}
echo "<br />";
if (! empty($_GET['carry_out'])){
   echo 'Offered carry out (if no bagger) ' . $_GET['carry_out'];
}
echo "<br />";
if (! empty($_GET['thanks'])){
   echo 'Genuine "thank you?" ' . $_GET['thanks'];
}
echo "<br /><Br />";
if (! empty($_GET['sign1'])){
   echo 'Digital Signature: ' . $_GET['sign1'];
}
?>

PHP フォーム メール

これは、フォームを印刷可能にするために正しいアドレスに電子メールで送信されたフォームに添付された元の php です。これより前のコードは、@Death が今日から別のフォーラムに投稿されたのを見たように、echo の PHP です。
<?
//---------------
// Cashier Audit
//---------------
$msg .= "Cashier being audited: ".$_POST["cashier"]."";
$msg .= "\n\nFront the register? $front_register\n";
$msg .= "Greet customer with eye contact? $greets\n";
$msg .= "Scan/Unload BOB (if no bagger) $scan_bob\n";
$msg .= "Conversation about groceries, or other genuine conversation? $conversation\n";
$msg .= "Offer Buddy bucks to parent at beginning of order? $buddy\n";
$msg .= "No Side Conversations? $side_conversation\n";
$msg .= "Cashier pointed to and circled savings? $savings\n";
$msg .= "Offered carry out (if no bagger)? $carry_out\n";
$msg .= "Genuine Thank You? $thanks\n\n";
$msg .= "**************************************************************\n";
$msg .= "\n\n\nCashier signature:__________________________";
$msg .= "\n                             $cashier";
$msg .= "\n\n\n\n\nASM signature:__________________________";
$msg .= "\n                         $asm";

//-----------------
// Signature Lines
//-----------------
.= $checkbox=$_POST['checkbox'];
.= $asm = $_POST['asm'];

$to = "email@address.com";
$from = "other@email.com";
$subject = "Service Audit";
$mailheaders = "From: \"$asm\" <$from> . \n";
//$mailheaders .= "Reply-To: $from\n\n";

mail($to, $subject, $msg, $mailheaders);

?>
4

2 に答える 2

0

私があなたのことを正しく理解していれば、あなたは HTML フォームを持っていて、次のことを望んでいます:

  1. HTML/PHP フォームでスタッフ メンバーを監査する ( audit.php)

  2. その監査の結果を別の PHP ページ/フォームに投稿する ( audit_confirm.php)

  3. 従業員が ID を入力しaudit_confirm.php、誰かが [送信] をクリックします。

  4. 情報は電子メールとして送信されます

監査フォーム [audit.php]

最初のページ/フォームはデータを確認ページに投稿するため、フォームタグのアクション属性を投稿するように変更しますaudit_confirm.php

<form action="audit_confirm.php" method="post">
<!-- all your existing form data-->
</form>

監査確認フォーム [audit_confirm.php]

次のようなロジックaudit_confirm.phpを作成します。

  1. 監査結果の表示
  2. 従業員が ID を入力できるテキスト ボックスを含む確認フォームを提供する
  3. この情報を同じページに投稿し、POST データを取得します (非表示のフォーム要素を使用して、フォーム ロジック フローをセグメント化できます)。
  4. 監査データを含む電子メールを送信する
  5. ページにリダイレクトして、audit.php別の監査を実行できるようにします

今呼び出しているものを次のように置き換えますPHP Form Echo

<?php

    switch(true)
    {
        case ($_POST['employee_id_confirm'] == true):

            //---------------
            // Cashier Audit
            //---------------
            $msg .= "Cashier being audited: ".$_POST['cashier']."";
            $msg .= "\n\nFront the register? ".$_POST['front_register']."\n";
            $msg .= "Greet customer with eye contact? ".$_POST['greets']."\n";
            $msg .= "Scan/Unload BOB (if no bagger) ".$_POST['scan_bob']."\n";
            $msg .= "Conversation about groceries, or other genuine conversation? ".$_POST['conversation']."\n";
            $msg .= "Offer Buddy bucks to parent at beginning of order? ".$_POST['buddy']."\n";
            $msg .= "No Side Conversations? ".$_POST['side_conversation']."\n";
            $msg .= "Cashier pointed to and circled savings? ".$_POST['savings']."\n";
            $msg .= "Offered carry out (if no bagger)? ".$_POST['carry_out']."\n";
            $msg .= "Genuine Thank You? ".$_POST['thanks']."\n\n";
            $msg .= "**************************************************************\n\n\n\n\n";
            $msg .= "Cashier signature:        ".$signature."\n";
            $msg .= "                     _______________________________";
            $msg .= "\n                     $cashier";
            $msg .= "\n\n\n\n\n";
            $msg .= "ASM signature:            ".$asm."\n";
            $msg .= "                     ________________________________";
            $msg .= "\n                         $asm";

            $to = "email@address.com";
            $from = "other@email.com";
            $subject = "Service Audit";
            $mailheaders = "From: \"".$asm."\" <".$from.">\r\n".
            "Reply-To: noreply@yourdomain.com\r\n".
            "X-Mailer: PHP/". phpversion();
            mail($to, $subject, $msg, $mailheaders);

            //redirect to audit.php
            header("Location:audit.php");
            exit();
            break;
    }

    //form data from audit.php
    $get_data_meta_arr = array(
        'cashier' => 'Cashier receiving audit:',
        'asm' => 'ASM performing audit:',
        'front_register' => 'Did cashier front the register?',
        'greets' => 'Greet customer with eye contact?',
        'scan_bob' => 'Scan/Unload BOB (if no bagger)',
        'conversation' => 'Conversation about groceries, or other genuine conversation?',
        'buddy' => 'Offer Buddy bucks to parent at beginning of order?',
        'side_conversation' => 'No side conversations?',
        'savings' => 'Cashier pointed to and circled savings?',
        'carry_out' => 'Offered carry out (if no bagger)',
        'thanks' => 'Genuine "thank you?"'  
    );

?>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Info Confirm</title>
</head>
<body>
    <div id="view-info">
        <h2>Audit Confirmation</h2>
    </div>
    <div id="form-confirm">
        <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
            <div class="field-hidden">
                <input type="hidden" name="employee_id_confirm" value="true">                    
            </div>
            <div class="echo">
                <?php
                foreach($get_data_meta_arr as $key => $value)
                {
                    $audit_question_str = $value;           //the audit question
                    $audit_result_str = $_GET[$key];        //the audit result              
                ?>
                <p><?php echo $audit_question_str.': '.$audit_result_str; ?></p>
                <input type="hidden" name="<?php echo $key; ?>" value="<?php echo $audit_result_str; ?>">
                <?php
                }
                ?>
            </div>
            <div class="field">
                <label for="employee_id">Employee ID</label>
                <input id="employee_id" type="text" name="signature" maxlength="40">
            </div>
            <div class="action">
                <input type="submit" value="Confirm">
            </div>
        </form>
    </div>
</body>
</html>

PHP Form Emailメール メッセージング機能は上記のコードに組み込まれているため、省略できます。

これが役立つことを願っています。

于 2013-08-13T03:26:08.190 に答える