在php中通过url传递变量时显示未定义的索引

时间:2015-10-22 03:46:37

标签: php html

//passing value through url   
while($rowcontent=mysqli_fetch_array($details))
{
    echo "<tr><td><a href=http://localhost/study/study2/edit.php?toedit=$rowcontent[rollnumber]>edit</a></td><tr>";
} 
//receiving value from url
<html>
<form method="GET" action="edit.php">
    <input type="text" name="name">Enter Name <br>
    <input type="text" name="rollnumber" required>Enter Rollnumber <br>
    <input type="text" name="mark">Enter Mark  <br>
    <input type="text" name="dept">Enter Department <br>
    <input type="submit" name="submit" value="submit"> <br>
</form>

<?php
$rollnumber=$_GET["toedit"];
echo $rollnumber;
if(isset($_GET["submit"]))
{
    $name=$_GET["name"];
    $nrollnumber=$_GET["rollnumber"];
    $mark=$_GET["mark"];
    $department=$_GET["dept"];
    $connect=mysqli_connect("","root","","details");
    mysqli_query($connect,"UPDATE student SET name='$name'          rollnumber='$nrollnumber' mark='$mark' department='$department' WHERE rollnumber='$rollnumber'");
    mysqli_close($connect);
}

&GT;

以上是代码的两个部分,我试图通过将值(卷号)传递给url来编辑DB中的值,但是在编辑代码中,值没有被正确接收或者其他一些问题我无法弄清楚。我做了同样的事情,从url中删除了一个值,但它似乎有效。

1 个答案:

答案 0 :(得分:0)

您可以使用以下内容:

//receiving value from url
<html>
<form method="GET" action="edit.php">
    <?php
    while($rowcontent=mysqli_fetch_array($details))
    {
    ?>
        <input type="hidden" name="toedit" value="<?php echo $rowcontent[rollnumber]; ?>" />
    <?php
    }
    ?>
    <input type="text" name="name">Enter Name <br>
    <input type="text" name="rollnumber" required>Enter Rollnumber <br>
    <input type="text" name="mark">Enter Mark  <br>
    <input type="text" name="dept">Enter Department <br>
    <input type="submit" name="submit" value="submit"> <br>
</form>

edit.php

<?php
if(isset($_GET["submit"]))
{
    $name=$_GET["name"];
    $nrollnumber=$_GET["rollnumber"];
    $mark=$_GET["mark"];
    $department=$_GET["dept"];
    $connect=mysqli_connect("","root","","details");
    mysqli_query($connect,"UPDATE student SET name='$name' rollnumber='$nrollnumber' mark='$mark' department='$department' WHERE rollnumber='$rollnumber'");
    mysqli_close($connect);
}