0

アクションをtest2.phpに投稿するこのフォームがあります。

     <form action="test2.php" method="post" name="add">
     <tr>
     IC NUMBER:<input name="defIc" value="" type="varchar" size="20" maxlength="20">
     NAME:<input name="defName" value="" type="varchar" size="60" maxlength="60">

    <input name="reset" type="reset" value="RESET">
    <input type="submit" name="add" value=" ADD GUARANTOR ">
    </form>

これは私のtest2.phpコーディングです。このtest2.phpでは、追加プロセスを組み合わせて、データを「被告」テーブルに保存しました。test2.php には、「被告 IC」と「IC 番号」をコールバックする必要がある別のフォームも含まれています。

           <?php   
    if (isset($_POST['add'])) {
        $defIc = addslashes($_POST['defIc']);
        $defName = addslashes($_POST['defName']);
        include 'dbconnect.php';

        $query = "INSERT INTO defendant (defIc, defName) VALUES 
            ('$defIc', '$defName')";


        echo $result = mysql_query($query);

    if ($result)
    {
    if (isset($result['defIc']))
        $defIc = $result['defIc'];
    else
        $defIc = 0;
    include 'dbconnect.php';
    $query = "Select * from defendant where defIc = '".$defIc."'";

    $result = mysql_query($query1) or die('SQL error');

    $row = mysql_fetch_array($result);
            ?>  
        DEFENDANT IC:<input name="defIc" value="<?php echo $row['defIc']; ?>"       
            type="varchar" size="20" maxlength="20" />
            DEFENDANT NAME:<input name="defName" value="<?php echo $row['defName']; ?>"          
            type="varchar" size="20" maxlength="20" />
           " 
            <?php 
    }

         else
            echo 'Add failed';   
    }
    ?>

問題は、test2.php で 'defIc' をコールバックしようとすると、表示されないことです。

4

1 に答える 1

0

たまたま、このコードには当初想定されていたよりも多くのバグがあります。これには多くの作業が必要です。

<?php
//Only include a connection once!
include_once ('dbconnect.php');  
//If the 'add' button was pressed. 
if (isset($_POST['add'])) {

    //What type of data is this? This is very insecure code.
    //Look at preg_replace or mysqli_real_eascape_string to sanitise data

    $defIc = addslashes($_POST['defIc']);
    $defName = addslashes($_POST['defName']);


    $query = "INSERT INTO defendant (defIc, defName) VALUES 
        ('$defIc', '$defName')";


    //Why did you echo the result?
    $result = mysql_query($query);

if ($result)
{
if (isset($result['defIc']))
    $defIc = $result['defIc'];
else
    $defIc = 0;
$query = "Select * from defendant where defIc = '$defIc'";

$result = mysql_query($query1) or die('SQL error');

$row = mysql_fetch_array($result);
        ?>  
    DEFENDANT IC:<input name="defIc" value="<?php echo $row['defIc']; ?>"       
        type="varchar" size="20" maxlength="20" />
        DEFENDANT NAME:<input name="defName" value="<?php echo $row['defName']; ?>"          
        type="varchar" size="20" maxlength="20" />
       " 
        <?php 
}

     else
        echo 'Add failed';   
}
?>

データベース接続を 2 回含めました。これはできません。

今まで集めてきたものです。さらなる調査結果があれば更新します。

于 2014-10-21T21:04:46.670 に答える