zoukankan      html  css  js  c++  java
  • Head First PHP&MySQL笔记(3)

    自引用表单的概念是先post到自己,如果没有问题的话就执行相应的代码,否则按照要求来进行信息反馈。好处是可以因此通过"粘性"将之前表单的东西"保存"起来。

       

    <?php

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

        $from = 'elmer@makemeelvis.com';

        $subject = $_POST['subject'];//POST表单原来的东西

        $text = $_POST['elvismail'];

        $output_form = false;

       

        if (empty($subject) && empty($text)) {//对于出现表单内容为空的逻辑。其中empty表示空,isset(开始)表示有设置过。对于不存在的,是issetfalseemptytrue

          // We know both $subject AND $text are blank

          echo 'You forgot the email subject and body text.<br />';

          $output_form = true;

        }

       

        if (empty($subject) && (!empty($text))) {

          echo 'You forgot the email subject.<br />';

          $output_form = true;

        }

       

        if ((!empty($subject)) && empty($text)) {

          echo 'You forgot the email body text.<br />';

          $output_form = true;

        }

      }

      else {

        $output_form = true;

      }

       

      if ((!empty($subject)) && (!empty($text))) {//如果都不为空,执行

        $dbc = mysqli_connect('data.makemeelvis.com', 'elmer', 'theking', 'elvis_store')

          or die('Error connecting to MySQL server.');

       

        $query = "SELECT * FROM email_list";

        $result = mysqli_query($dbc, $query)

          or die('Error querying database.');

       

        while ($row = mysqli_fetch_array($result)){

          $to = $row['email'];

          $first_name = $row['first_name'];

          $last_name = $row['last_name'];

          $msg = "Dear $first_name $last_name, $text";

          mail($to, $subject, $msg, 'From:' . $from);

          echo 'Email sent to: ' . $to . '<br />';

        }

       

        mysqli_close($dbc);

      }

       

      if ($output_form) {//对是否显示表单做判断。

    ?>

       

      <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">//表单提交给自己。使用全局变量_SERVER['PHP_SELF']若文件结构有改动的时候,维护相对容易

        <label for="subject">Subject of email:</label><br />

        <input id="subject" name="subject" type="text" value="<?php echo $subject; ?>" size="30" /><br />//如果subject之前没有写,为空;否则,由于被传回当前页面,因此值得到传递,实现"粘性"。下面的text一样

        <label for="elvismail">Body of email:</label><br />

        <textarea id="elvismail" name="elvismail" rows="8" cols="40"><?php echo $text; ?></textarea><br />

        <input type="submit" name="submit" value="Submit" />

      </form>

       

    <?php

      }

    ?>

       

  • 相关阅读:
    HDU2502 月之数 组合数
    HDU1128 Self Numbers 筛选
    HDU2161 Primes
    HDU1224 Free DIY Tour 最长上升子序列
    HDU2816 I Love You Too
    winForm窗体设置不能随意拖动大小
    gridview 中SelectedIndexChanged 事件获得该行主键
    关于bin和obj文件夹。debug 和release的区别
    winform最小化时在任务栏里隐藏,且显示在托盘里
    wcf异常处理
  • 原文地址:https://www.cnblogs.com/iamfongbao/p/3780845.html
Copyright © 2011-2022 走看看