0

NVM 私は今までにこれを理解していましたが、私は完全に遅れていたことがわかりました...

この ValidForm Builder のチュートリアルを見てきました。送信された純粋なデータを取得する方法を説明している場所がどこにも見つからないようです。これらは操作できるため、データが配列に格納されているかどうかは気にしません。私が見ることができる唯一のことは、フォームが送信されると、データが電子メールに適したhtmlコードの形式で保存されることです。

$objForm = new ValidForm("newsletterForm", "");
$objForm->addField("name", "Your name", VFORM_STRING, 
    array(
        "maxLength" => 255, 
        "required" => TRUE
     ), 
array(
    "maxLength" => "Your input is too long. A maximum of %s characters is OK.", 
    "required" => "This field is required.", 
    "type" => "Enter only letters and spaces."
     )
);
 $objForm->addField("email", "Email address", VFORM_EMAIL, 
    array(
         "maxLength" => 255, 
         "required" => TRUE
     ), 
     array(
        "maxLength" => "Your input is too long. A maximum of %s characters is OK.", 
        "required" => "This field is required.", 
        "type" => "Use the format name@domain.com"
     ), array(
         "tip" => "name@domain.com"
    )
);

 $objForm->setMainAlert("One or more errors occurred. Check the marked fields and try    again.");
$objForm->setSubmitLabel("Send");

$strOutput = "";

if ($objForm->isSubmitted() && $objForm->isValid()) {
    //Do something php here if the form is sumbitted correct
    //*** Set the output to a friendly thank you note.
    $strOutput = "Thank you for your interest.";
    } else {
    //*** The form has not been submitted or is not valid.
    $strOutput = $objForm->toHtml();
 }      

基本的に、データベースに保存できるように生データが必要なだけです...

4

1 に答える 1

1

私は ValidForm Builder の開発者の 1 人です。これについてお手伝いさせてください。

isSubmitted && isValid ステートメント内で、次のことができます。

if ($objForm->isSubmitted() && $objForm->isValid()) {

    // You can store it in a local variable or just use the result of getValue() directly.
    $strEmail = $objForm->getValidField("email")->getValue();

}

実際、値を電子メールとして直接投稿したい場合は、そのためのサポートも組み込まれています (ほとんどの Web サイト フォームは連絡フォームであるため、便利だと考えました)。

if ($objForm->isSubmitted() && $objForm->isValid()) {

    // Use strEmailBody as the HTML content of your e-mail message or wrap some fancy
    // styling around it before sending.
    $strEmailBody = $objForm->valuesAsHtml();

}

さらに、「生の」投稿データをデータベースに保存することはお勧めしません。これは ValidForm Builder の主な目的の 1 つで、ユーザー入力を検証して SQL インジェクションを防ぐことです。私たちは皆知っているので、ユーザー入力は悪です。

于 2012-09-07T16:19:53.987 に答える