0

画像送信ボタンを押すと、記入済みのフォームがビジネスメールに送信されます。

これは、htmlからリンクされたphpに使用したスクリプトです。

<?php
if(isset($_POST['submit'])) {
$emailbody = 'First Name = '.$_POST['Name']."\n"
.'Surname = '.$_POST['SName']."\n"
.'Email = '.$_POST['email']."\n"
.'Contact Number = '.$_POST['tel_no']."\n"
.'Adress Line 1 = '.$_POST['address_line_1']."\n"
.'Adress Line 2 = '.$_POST['address_line_2']."\n"
.'Town/City = '.$_POST['town_city']."\n"
.'County = '.$_POST['county']."\n"
.'Post Code = '.$_POST['Post_code']."\n"
.'Newsletter = '.$_POST['newsletter']."\n"
.'Events = '.$_POST['events']."\n"
mail('My email@gmail.com', 'Order Form', $emailbody);

    } else {
header('location: Payment.html');
    }
?>

HTML 上のフォームは、アクションを介してリンクされています。スクリプトに何か問題がありますか?

PS 画像を押すと、PayPal の支払いページに転送されます。

乾杯

編集:HTMLコードは次のとおりです。

    <form name="form1" method="post" action="PaymentFormmail.php" align="left">
    <section>
    <h1>Basic Infomation:</h1>
     <p>
    <label for="SName">First Name:</label>
    <input type="text" name="Name" id="Name" style="margin-left:50px;">
  </p>
  <p>
    <label for="SName">Surname:</label>
    <input type="text" name="SName" id="SName" style="margin-left:64px;">
    </p>
     <p>
      <label for="email">Email Address</label>
      <input type="text" name="email" id="email" style="margin-left:28px;">
  </p>
  <p>
    <label for="tel_no">Contact Number:</label>
    <input type="text" name="tel_no" id="tel_no" style="margin-left:14px;">
  </p>
</section>
<section>
<h1>Billing Infomation:</h1>
  <p>
    <label for="address_line_1">Address line 1:*</label>
    <input name="address_line_1" type="text" id="address_line_1" align="right" style="margin-left:20px;">
  </p>
  <p>
    <label for="address_line_2">Address Line 2: </label>
    <input type="text" name="address_line_2" id="address_line_2"style="margin-left:20px;">
  </p>
  <p>
    <label for="town_city">Town/City:*</label>
    <input type="text" name="town_city" id="town_city"style="margin-left:55px;">
  </p>
  <p>
    <label for="county">County:*</label>
    <input type="text" name="county" id="county"style="margin-left:73px;">
  </p>
  <p>
    <label for="Post_code">Post Code:*</label>
    <input type="text" name="Post_code" id="Post_code"style="margin-left:46px;">
  </p>
<h1>News and Events:</h1>
<p>
  <input name="newsletter" type="checkbox" id="newsletter" value="Yes">
  <label for="newsletter">I wish to receive the monthly newsletter from Monster Computers UK</label>
</p>
<p>
  <input name="events" type="checkbox" id="events" value="Yes">
  <label for="events">I wish to receive any infomation about upcomming events</label>
</p>

  </section>
</form>

<p>By Clicking Pay now you agree to the Terms of Service</p>
                    <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
                    <input type="hidden" name="cmd" value="_xclick">
                    <input type="hidden" name="business" value="monstercomputeruk@gmail.com">
                    <input type="hidden" name="lc" value="GB">
                    <input type="hidden" name="item_name" id="byoName" value="0">
                    <input type="hidden" name="amount" id="finalpaypal">
                    <input type="hidden" name="currency_code" value="GBP">
                    <input type="hidden" name="button_subtype" value="services">
                    <input type="hidden" name="no_note" value="0">
                    <input type="hidden" name="bn" value="PP-BuyNowBF:btn_buynowCC_LG.gif:NonHostedGuest">
                    <input name="submit" type="image" onClick="MM_validateForm('Name','','R','SName','','R','email','','R','address_line_1','','R','town_city','','R','county','','R','Post_code','','R');return document.MM_returnValue" src="images/buttons/Pay Now.png" alt="PayPal — The safer, easier way to pay online." border="0">
                    <img alt="" border="0" src="https://www.paypalobjects.com/en_GB/i/scr/pixel.gif" width="1" height="1">
                    </form>
4

1 に答える 1

0

変更してみる

if(isset($_POST['submit']))

if(isset($_POST['SName']))

$_POST['submit'] は機能しないと思います。これも失敗する場合は、情報がスクリプトに送信されていないことを意味します。この場合、スクリプトで使用されるフォームの html を表示してください。

編集

if(isset($_POST['submit'])) を使用して、スクリプトが開いているときにエコーを表示しないようにする

HTML の後に編集

MM_validateForm という JavaScript 関数で、jquery POST を使用してメール スクリプトに情報を送信し、isset かどうかをチェックする if 句を削除します。

$.post("test.php", { name: "John", time: "2pm" } );

http://api.jquery.com/jQuery.post/ 例のセクションを参照してください。

于 2013-04-14T22:17:47.403 に答える