发布并在php中同时获取

use*_*269 9 php mysql

你对我的问题有任何建议吗?我需要同时使用get和post.得到因为我需要输出用户键入的内容.并发布因为我需要访问与该输入相关的mysql数据库.它看起来像这样:

<form name="x" method="get" action="x.php">
<input name="year" type="text">

<select name="general" id="general">
        <font size="3">
        <option value="YEAR">Year</option>

</form>
Run Code Online (Sandbox Code Playgroud)

这将输出mysql的内容,具体取决于用户将检查的内容:

<form name="y" method="post" action"y.php">
<input name="fname" type="checkbox">
</form>
Run Code Online (Sandbox Code Playgroud)

这两个组合的形式动作看起来像这样:

   <?php

               if($_POST['general'] == 'YEAR'){
                   ?>
                   <?php echo $_GET["year"]; ?>
                   <?php
            $result2 = mysql_query("SELECT * FROM student
    WHERE student.YEAR='$syear'");
    ?>
    <table border='1'>
            <tr>

                    <?php if ( $ShowLastName ) { ?><th>LASTNAME</th><?php } ?>
                    <?php if ( $ShowFirstName ) { ?><th>FIRSTNAME</th><?php } ?>
        </tr>

    <?php while ( $row = mysql_fetch_array($result2) ) {
        if (!$result2)  { 

    }
        ?>
            <tr> 
                    <td><?php echo $row['IDNO']?> </td>
                    <td><?php echo $row['YEAR'] ?> </td>
     <?php if ( $ShowLastName ) { echo('<td>'.$row['LASTNAME'].'</td>'); } ?></td>
                    <?php if ( $ShowFirstName ) { echo('<td>'.$row['FIRSTNAME'].'</td>'); } ?>
Run Code Online (Sandbox Code Playgroud)

当我这样做时,我真的得到了很多未定义的错误.为了获得用户输入的值和mysql数据,我建议你做什么?

Gor*_*don 51

在执行HTTP请求,您只能有一个动词(POST,GET,PUT,...).但是,你可以做到

<form name="y" method="post" action="y.php?foo=bar">
Run Code Online (Sandbox Code Playgroud)

然后PHP也将填充$_GET['foo'],尽管发送的请求是POST.

但是,您的问题似乎更多的是您尝试一次发送两个表单,针对两个不同的脚本.这在一个请求中是不可能的.