1

フォームアクションでphp関数を呼び出したいのですが、idを引数として渡したいです。私がやっていることは、HTML形式のデータベース列の値がテキストボックスに表示されることです。これらの値を編集して「更新」ボタンをクリックすると、データベースの値が更新され、「レコードが正常に更新されました」というメッセージが同じページに表示されます。以下のコードを試しましたが、動作しませんでした。解決策を教えてください。前もって感謝します。

    <html>

    <head>

        <link rel="stylesheet" type="text/css" href="cms_style.css">        


    </head>

    <?php
        $ResumeID = $_GET['id']; 
        $con = mysql_connect("localhost", "root", "");
        mysql_select_db("engg",$con);
        $sql="SELECT * from data WHERE ResumeID=$ResumeID";
        $result = mysql_query($sql);
        $Row=mysql_fetch_row($result); 

        function updateRecord()
        {

            //If(!isset($_GET['id']))       
            //{
              $NameoftheCandidate=$_POST[NameoftheCandidate];
              $TelephoneNo=$_POST[TelephoneNo];
              $Email=$_POST[Email];

      $sql="UPDATE data SET NameoftheCandidate='$_POST[NameoftheCandidate]',         TelephoneNo='$_POST[TelephoneNo]', Email='$_POST[Email]' WHERE ResumeID=$ResumeID ";

            if(mysql_query($sql))
                echo "<p>Record updated Successfully</p>";
            else
                echo "<p>Record update failed</p>";



            while ($Row=mysql_fetch_array($result))     {
                echo ("<td>$Row[ResumeID]</td>");

                echo ("<td>$Row[NameoftheCandidate]</td>");
                echo ("<td>$Row[TelephoneNo]</td>");
                echo ("<td>$Row[Email]</td>");
            } // end of while

        } // end of update function


    ?>

    <body>
        <h2 align="center">Update the Record</h2>

        <form align="center" action="updateRecord()" method="post">
            <table align="center">
                <input type="hidden" name="resumeid" value="<? echo    "$Row[1]"?>">
            <? echo "<tr> <td> Resume ID </td>   <td>$Row[1]</td> </tr>" ?>                      

        <div align="center">
        <tr>       
        <td> Name of the Candidate</td>
    <td><input type="text" name="NameoftheCandidate" 
size="25" value="<? echo "$Row[0]"?     >"></td>
        </tr>

        <tr>
     <td>TelephoneNo</td>
    <td><input type="text" name="TelephoneNo" size="25" value="<? echo "$Row[1]"?>"></td>
     </tr>
     <tr>       
      <td>Email</td>
        <td><input type="text" name="Email" size="25" value="<? echo "$Row[3]"?>">
        </td>
    </tr>
     <tr>
    <td></td>
    <td align="center"><input type="submit" name="submitvalue" value="UPDATE" ></td>
                    </tr>
                </div>                              
            </table>
        </form>

      </body>
       </html>
4

3 に答える 3

2

form action="" を記述し、以下のように php コードを記述します。注: form メソッドを get として使用します。

<?php
if(isset($_GET['id']))
{
       call your function here
}
?>

関数内で $_GET['fieldname'] を使用してすべての値にアクセス

于 2013-03-18T06:41:10.160 に答える
2

この方法を試してください

HTML

<form align="center" action="yourpage.php?func_name=updateRecord" method="post">

PHP

$form_action_func = $_POST['func_name'];

if (function_exists($form_action_func)) {
  updateRecord();
}
于 2013-03-18T06:32:48.083 に答える
0

「送信」と「更新」アクションを同じページで実行する簡単な方法

if(isset($_POST['update']))
{
 //perform update task
 update($var1,var2,$etc); // pass variables to function
 header('Location: http://www.example.com/');// link to your form
}
else if(isset($_POST['submit']))
{
//perform update task
submit($var1,$var2,$etc);// pass variables to function
header('Location: http://www.example.com/'); // link to next page after submit successfully 
}
else
{
// display form
}
于 2013-03-18T12:00:58.180 に答える