0

私の前に誰かがニュースレターのサインアップ システム用にセットアップした次のコードがあります。

error_reporting(0);
set_magic_quotes_runtime (0);
if (get_magic_quotes_gpc()) {
foreach($_POST as $k=>$v)
    $_POST[$k] = stripslashes($v);
foreach($_COOKIE as $k=>$v)
    $_COOKIE[$k] = stripslashes($v);
}

$msg = $_COOKIE['sb'.$_GET['id']];

$email = trim($_GET['email']);
$Ok = ereg("^([a-zA-Z0-9_\.-]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$", $email);

$headers  = 'From: ' . $email . "\n"; 
$headers .= 'MIME-Version: 1.0' ."\n"; 
$headers .= 'Content-Type: text/plain; charset=iso-8859-1' ."\n"; 
$headers .= 'Content-Transfer-Encoding: 8bit'. "\n\n";

if ($Ok && ($msg != '')) {
mail($emailmanager,'Subscribe to Newsletter',$msg,$headers);
Header("Location: $urlok");
} else {
Header("Location: $urlko");
}

php ファイルは、次のコードを持つフォーム (電子メール アドレス、名前、都道府県、電話番号など) を送信することによって呼び出されます。

error_reporting(0);

set_magic_quotes_runtime (0);
if (get_magic_quotes_gpc()) {
foreach($_POST as $k=>$v)
    $_POST[$k] = stripslashes($v);
foreach($_COOKIE as $k=>$v)
    $_COOKIE[$k] = stripslashes($v);
}

$msg = '';
foreach($_POST as $k=>$v) {
if (strtolower($k) != "submit" && trim($v) != '')
    $msg .= "$k:$v\n";
}

$id = md5($msg);
setcookie("sb$id",$msg,time()+86400,'','',0);

$email = trim($_POST['email']);

フォームに入力した人に、クリックしてメールアドレスを確認するためのリンクが記載されたメールが送信されます。

リンクをクリックすると、最初の php ファイル (上部) が呼び出され、保存されている元のフォームの詳細がメッセージとして電子メール アドレスに送信されるため、電子メールの受信者はこれらの詳細を手動でデータベースに入力できます (メーリング リスト)。リスト)。

メーリングリストマネージャーに通知メールを送信する代わりに、詳細をデータベースに挿入するように、リバースエンジニアリングを試みています。

私はphpでデータベースを操作するのはかなり得意ですが、上記のコードは私を少し超えています.

コードがフォームのすべての入力の詳細を id にパックし、電子メール アドレスが確認されるまで保存してから、それらすべてをリスト マネージャーに送信される電子メールに入れる方法はわかりませんが、コードを見ると、これらの入力を再度抽出して、それらをいくつかの変数に入れ、データベーステーブルに挿入する準備ができている方法を誰かが見ることができますか?

どんな助けでも大歓迎です。前もって感謝します。乾杯、アル。

4

1 に答える 1