common.php在后面的引用上可能出现问题

解决方案 »

  1.   

    全局变量的问题
    你将echo输出的$applicant,$email,$phone,$avail都改写为
    $_POST[applicant],$_POST[email],$_POST[phone],$_POST[avail]
    php4.0.6以上全局变量默认是关闭的
    我刚学的时候也是这样老出错
      

  2.   

    咱们看的书一样~~~机械工业出版社出版的<PHP高级编程>挺不错的,只不过那本书上讲的是PHP3
      

  3.   

    你去看一眼本版的FAQ大部分问题都有答案了
      

  4.   

    TO:QANGXIAOYU12
      怎么还不行啊,能不能详细的讲一下啊,谢谢
      

  5.   

    //common.php
    <?php
    define("COMPANY","Phop's Bicycles");
    define("NL","<br>\n");
    function check_email( $str )
    {
    if( $str )
    {
    return 1;
    }
    else
    {
    return 0;
    }
    }
    ?>//jobapp.php
    <?php
    require("common.php");
    ?>
    <h1><?php echo(COMPANY); ?>Job Application</h1>
    <P>Are you lookoing for an exciting career in the world of cuclery?
    Loook no further!</P>
    <form name="frmJobApp" method="post" action="jobapp_action.php">
    Please enter your name:
    <input name="applicant" type="text"><br>
    Please enter your telephone number:
    <input name="phone" type="text"><br>
    Please enter your E-mail address:
    <input name="email" type="text"><br>Please select the type of position in which you are interested:
    <select name="position">
    <option value="a">Accounting</option>
    <option value="b">Bicycle repair</option>
    <option value="h">Human resources</option>
    <option value="m">Management</option>
    <option value="s">Sales</option></select>
    <br>Please select the country in which you would like to work:
    <select name="country" >
    <option value="ca">Canada</option>
    <option value="cr">Costa Rica</option>
    <option value="de">Germany</option>
    <option value="uk">United Kingdom</option>
    <option value="us">United States</option>
    </select><br>
     
    <input name="avail" type="checkbox">Available immediately<br>
    <input name="enter" type="submit" value="Enter">
    </form>//jobapp_action.php
    <?php
    require("common.php");

    $submit = 1; //Submit flag

    if( !$_POST[applicant] )
    {
    $submit = 0;
    $_POST[applicant] = "<b>Invalid Name</b>";
    }

    if( !check_email( $_POST[email] ) )
    {
    $submit = 0;
    $_POST[email] ="<b>Invalid Email Address</b>";
    }
    echo("<B>You have submitted the following:</b>".NL.NL.
    "Name: $_POST[applicant]".NL.
    "Phone: $_POST[phone]".NL.
    "Email: $_POST[email]".NL.
    "Country: "
    );
    switch($_POST[country])
    {
    case"ca":
    echo("Canada");
    break;
    case"cr":
    echo("Costa Rica");
    break;
    case"de":
    echo("Germany");
    break;
    case"uk":
    echo("United kingdom");
    break;
    default://Must be "US"
    echo("United States");
    }
    echo(NL."Postition: ");
    switch( $_POST[postion] )
    {
    case"a":
    echo("Accounting");
    break;
    case"b":
    echo("Bicycle Repair");
    break;
    case"h":
    echo("Human Resources");
    break;
    case"m":
    echo("Management");
    break;
    default://Must be "s"
    echo("Sales");
    }
    echo(NL);
    $avail = isset($_POST[avail]);
    echo("Available immediately:".( $avail ? "yes" : "NO" ) );
    ?>
    <form method="post">
    <input type="submit" value="Submit">
    <input type="button" value="Go Back" onClick="self.history.back();">
    </form>
      

  6.   

    补一下简单的邮件判断正则表达式:
    function check_email($str)
    {
        if(ereg("^.+@.+\\..+$",$str))
        {
            return 1;
        }
        else
        {
            return 0;
        }
    }