-2

大会を作りたい。私はphpが苦手ですが、これが唯一の方法である可能性があることがわかります。顧客がコードを入力する単純な 1 フィールド フォームを使用してスクリプトを作成したいと考えています。顧客が [送信] をクリックすると、テキスト ファイルが表示され、一致する結果があればお祝いのページが返され、一致しない場合は申し訳ありませんが返されます。あなたはこの時間のページを獲得していません。これを行うのはかなり簡単でしょうか?

これを拡張して、SQLデータベースに13,000個のコードのリスト全体を含めることができます。コードが入力されると、そのコードが使い果たされるため、再度入力すると申し訳ありませんが返されます。このコードはすでに入力/使用されていますか?

何かが提出されたことを示すアドレスにメールを送る簡単な方法はありますか?

編集:

以下の回答を使用して、私はこれまでに得ました:

    <?php
$hostname = "localhost";
$username = "*****";
$password = "*****";
$code = $_POST[ 'code' ];

  if ( $client_code ) {

    $db = new PDO( 'mysql:host=$hostname;dbname=*****", $username, $password);

    $statement = $db -> prepare( 'SELECT 1 FROM codes WHERE code = ?' );
    $statement -> bindParam( 1, $code );
    $statement -> execute();

    $result = $statement -> fetchAll();

    if ( $result ) {
      header( 'Location: success.php' ); // Redirects to success page
      die();
    }
      header( 'Location: fail.php' ); // Redirects to fail page
      die();
    }

   else {
    header( 'Location: no_code.php' ); // Redirects to no code entered page
    die();
  }

?>

しかし、それはこのエラーでフラグを立て続けます

解析エラー: 構文エラー、11 行目の mysite/mypahe.php の予期しない T_STRING

誰でも助けることができますか?

4

2 に答える 2

1

codes次のような名前のdbテーブルを作成します。

+------------+--------+
| promo_code | status |
+------------+--------+
| s72jasdih  |      0 |
| asd893kla  |      0 |
| Sasd93ja3  |      0 |
+------------+--------+

次に、インデックスページで簡単なフォームを作成します。

<form action="actions.php" method="post">
  <input type="text" name="client_code" />
  <input type="submit" value="Submit" />
</form>

コードを入力して送信を押すと、ユーザーはactions.php次のコンテンツのページにリダイレクトされます。

<?php

  $client_code = $_POST[ 'client_code' ];

  if ( $client_code ) {

    $db = new PDO( 'mysql:host=' . $db_host . ';dbname=' . $db_name, $db_user_name, $db_password );

    $statement = $db -> prepare( 'SELECT 1 FROM codes WHERE promo_code = ?' );
    $statement -> bindParam( 1, $clients_code );
    $statement -> execute();

    $result = $statement -> fetchAll();

    if ( $result ) {
      header( 'Location: success.php' ); // Redirects to success page
      die();
    }
      header( 'Location: fail.php' ); // Redirects to fail page
      die();
    }

  } else {
    header( 'Location: no_code.php' ); // Redirects to no code entered page
    die();
  }

?>

これはあなたがしなければならないことの速い例です。完全に機能させるには、PHPのマニュアルに目を通し、作業を開始してください;)

于 2012-10-15T12:57:50.183 に答える
0

シンプルなスクリプトです。ここに短いチュートリアルがあります。

データベースにコードがある方が良いでしょう。行を選択してデータベース テーブルにデータを挿入するには、 MySQLi関数を使用できます。

結果を電子メールで送信するには、mail()関数またはPHPMailerクラス (複数のメール プロトコルをサポート) を使用できます。

于 2012-10-15T12:49:50.743 に答える