通过PHP通过锚标记传递值

时间:2016-02-17 14:09:03

标签: php

我不明白如何使用锚标记传递值。我有一个表单,它需要一些值并提交到我的mysql数据库。我能够查看表格。每行都有列编辑和删除。当我单击编辑时,我想将该行的主键(作业名称)传递给我的编辑页面,类似地删除。我能够看到URL上的值,但我无法在编辑页面上获取值。我不明白有什么用?在锚标签。

ViewAllJobs.php

<?php
include 'jobDB.php';
$query="Select * from Jobs";
$result=mysqli_query($con,$query);
echo'
<html>
<center><h1>View all Jobs</h1></center>
<body bgcolor="#E6E6FA">
<center><form method=POST action=edit.php >
<table border="1" style="border-collapse:collapse; border-color:Black; border-style:solid; border-width:1pt">
<tr>
<th>Job Name</th>
<th>Job State</th>
<th>Schedule days</th>
<th>URL</th>
<th>Filename</th>
<th>To</th>
<th>CC</th>
<th>Reply To</th>
<th>From</th>
<th>EmailSubject</th>
<th>Email Content</th>
<th>Edit</th>
<th>Delete</th>
</tr>';

while($row=mysqli_fetch_array($result)){
    echo'<tr>
    <td>'.$row["jobName"].' </td>
    <td>'.$row["jobState"].'    </td>
    <td>'.$row["jobSchedule"].' </td>
    <td>'.$row["jobURL"].'  </td>
    <td>'.$row["jobFilename"].' </td>
    <td>'.$row["jobToList"].'   </td>
    <td>'.$row["jobCCList"].'   </td>
    <td>'.$row["jobReplyTo"].'  </td>
    <td>'.$row["jobFrom"].' </td>
    <td>'.$row["jobSubject"].'  </td>
    <td>'.$row["jobEmailContent"].' </td>
    <td><a href="edit.php?jobName='.$row["jobName"].'">Edit</a></td>
    <td><a href="delete.php?jobName='.$row["jobName"].'">Delete</a></td>
    </tr>
    ';
}

echo'</table>
</form>
<center><a href="welcome.php">Click to return to Home Page</a></center>
</center>
</body>

</html>



';
?>

edit.php

<?php
include 'jobDB.php';
$jobName=isset($_REQUEST['jobName']);
if($jobName){
    echo"jobname is set";
}
else{
    echo"job name is not set";
}
echo"<br>jobname is".$jobName;
$query="select* from Jobs where jobName=".$jobName;
$result=mysqli_query($con,$query);
if($result){
    echo"<br>query succesful";

}
$fetch=$row=mysqli_fetch_row($result);
if($fetch){
    echo"<br>result set fetched";
}
else{
        echo"<br>result set not fetched";
    }
?>

在edit.php中,$jobName=isset($_REQUEST['jobname'])$jobName=1应该具有值job1时给出jobname,但是当我给$jobName=isset($_REQUEST['jobName'])时,它不存在变量$_REQUEST() 1}},什么都行不通。我应该在{{1}}中给出什么名字。请帮助。

1 个答案:

答案 0 :(得分:0)

应该是:

$jobName = $_REQUEST['jobName'];

isset()用于检查变量IS SET,而不是分配变量。

当您使用$jobName = isset($_REQUEST['jobName']);时,如果1已设置且$_REQUEST['jobName']代表1,则变量将设置为true。因此$jobname变为1

您的代码应为:

$jobName = $_REQUEST['jobName'];;
if(isset($jobName)) {
    echo "jobname is set";
}
else {
    echo "job name is not set";
}
echo "<br>jobname is" . $jobName;
$query = "SELECT * FROM Jobs WHERE jobName = '$jobName'";

要回答锚标记中?的用法,它用于PHP获取/请求值,更多信息请http://www.w3schools.com/php/php_forms.asp

希望这有帮助,谢谢!