代码之家  ›  专栏  ›  技术社区  ›  MBM

php-更新集和删除问题-保存删除记录

  •  0
  • MBM  · 技术社区  · 10 年前

    我有一个编辑现有数据的脚本。提取数组用于用数据和查询填充字段,以删除记录和修改记录。当我单击“保存”时,记录将被删除,即使它具有正确的id,也不会被保存。

    $feedid = mysql_real_escape_string($_POST['feedid']);
    
    $Query = "UPDATE ccregisterfeed SET author='$author', category='$category',
    copyright='$copyright', feeddescription='$feeddescription', feedtitle='$feedtitle',
    websitelink='$websitelink', imagelink='$imagelink', imagetitle='$imagetitle',
    subtitle='$subtitle' WHERE id='$feedid' AND username ='$user'";
    

    输入与id配对:

    <div class="submit"><input name="Submit" type="submit" class="submitbtn" value="Save"/></div>
    <input type="hidden" name="feedid" value="<?php echo $id; ?>"/>
    

    如果我删除删除输入,单击保存即可。

    <div class="delete"><input name="Delete" type="submit" class="deletebtn" value="Delete"/></div>
    <input type="hidden" name="Delete" value="<?php echo $id; ?>">
    

    完整的脚本

    <?php
    include "connect.php";
    require "authenticate.php";
    error_reporting(E_ERROR);
    $message = $_GET['message'];
    $user = $_SESSION['UserName'];
    
    //declare form field and form field error variables
    $authorErr = $categoryErr = $copyrightErr = $feeddescriptionErr = $feedlinkErr = $feedtitleErr = $websitelinkErr = $imagelinkErr = $imagetitleErr = $subtitleErr = "";
    $author = $category = $copyright = $feeddescription = $feedlink = $feedtitle = $websitelink = $imagelink = $imagetitle = $subtitle = "";
    
    //form field validation
    function validate_input($data)
    {
    $data = trim($data);
    $data = stripslashes($data);
    $data = htmlspecialchars($data);
    return $data;
    }
    
    if (isset($_POST['Submit']))
    {
    if (empty($_POST["author"])) {
    $has_errors = true;
    $authorErr = "Enter your name";
    }else{
    $author = validate_input($_POST["author"]);
    }
    
    if (empty($_POST["category"])) {
    $has_errors = true;
    $categoryErr = "Enter a category";
    }else {
    $category = validate_input($_POST["category"]);
    }
    
    if (empty($_POST["copyright"])) {
    $has_errors = true;
    $copyrightErr = "Enter copyright details";
    } else {
    $copyright = validate_input($_POST["copyright"]);
    }
    
    if (empty($_POST["feeddescription"])) {
    $has_errors = true;
    $feeddescriptionErr = "Enter feed description";
    } else {
    $feeddescription = validate_input($_POST["feeddescription"]);
    }
    
    if (empty($_POST["feedtitle"])) {
    $has_errors = true;
    $feedtitleErr = "Enter text only";
    } else {
    $feedtitle = validate_input($_POST["feedtitle"]);
    }
    
    if (empty($_POST["websitelink"])) {
    $has_errors = true;
    $websitelinkErr = "Enter link to website";
    } else {
    $websitelink = validate_input($_POST["websitelink"]);
    }
    
    if (empty($_POST["imagelink"])) {
    $has_errors = true;
    $imagelinkErr = "Enter link to image";
    } else {
    $imagelink = validate_input($_POST["imagelink"]);
    }
    
    if (empty($_POST["imagetitle"])) {
    $has_errors = true;
    $imagetitleErr = "Enter image name";
    } else {
    $imagetitle = validate_input($_POST["imagetitle"]);
    }
    
    if (empty($_POST["subtitle"])) {
    $has_errors = true;
    $subtitleErr = "Enter feed subtitle";
    } else {
    $subtitle = validate_input($_POST["subtitle"]);
    }
    
    if (!$has_errors)
    {
        $Link = mysql_connect($Host, $User, $Password);
        $user = $_SESSION['UserName'];
        }
    
    // var_dump ($date);
    // var_dump ($feedlink);
    // var_dump ($feeddescription);
    
    //write edited data into tables matching logged in user with their data
    $feedid = mysql_real_escape_string($_POST['feedid']);
    
    $date = date("Y-m-d H:i:s");
    
    $feeddescription = str_replace("_", "", $feeddescription);
    $feeddescription = str_replace("-", "", $feeddescription);
    $feeddescription = str_replace("!", "", $feeddescription);
    $feeddescription = str_replace("#", "", $feeddescription);
    $feeddescription = str_replace("'", "", $feeddescription);
    
    $Query = "UPDATE ccregisterfeed SET author='$author', category='$category', copyright='$copyright', feeddescription='$feeddescription', feedtitle='$feedtitle', websitelink='$websitelink', imagelink='$imagelink', imagetitle='$imagetitle', subtitle='$subtitle' WHERE id='$feedid' AND username ='$user'";
    
    if($sql = mysql_db_query ($DBName, $Query, $Link)) {
    header("location: rss.php");
    // header("location: feededit.php");
    } else {
    die("Query was: $Query. Error: ".mysql_error($Link));
    }
    }
    
    //show logged in user their updated data
    $user = $_SESSION['UserName'];
    $result = mysql_query("SELECT * FROM ccregisterfeed WHERE username = '$user'") or die(mysql_error());
    while($row = mysql_fetch_array($result)){
    $id=$row['id'];
    $author = $row['author'];
    $category = $row['category'];
    $copyright = $row['copyright'];
    $feeddescription = $row['feeddescription'];
    $feedtitle = $row['feedtitle'];
    $websitelink = $row['websitelink'];
    $imagelink = $row['imagelink'];
    $imagetitle = $row['imagetitle'];
    $subtitle = $row['subtitle'];
    }
    
    //delete form and image data when users clicks delete button
    if (isset($_POST['Delete'])){
    $deleteuser = $_POST['Delete'];
    mysql_query("DELETE FROM ccregisterfeed WHERE id = '$deleteuser'");
    mysql_query("ALTER TABLE ccregisterfeed AUTO_INCREMENT = 1");
    $message = 'Feed Deleted';
    header("Location: feededit.php?&message=".urlencode($message));
    }
    ?>
    
    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    
    <script>
    $(function(){
    $(document).click(function(){  
    $('.messagebox').hide();
    });
    });
    </script>
    
    </head>
    
    <form action="feededit.php" method="post" enctype="multipart/form-data" name="edit" id="editfeed">
    
    <fieldset>
    <div class="legendcreate">Feed Edit</div>
    
    <div class="feedcontainer">
    <div class="feedcontainerinner">
    
    <div><label class="labelshow">Author</label><input id="author" class="insetfeed" name="author" type="text" placeholder="Author" value="<?PHP print $author ; ?>"/><p class="errorinput"><?php echo $authorErr;?></p></div>
    
    <?php if(isset($_GET['message']) && !empty($message)): ?>
    <div class="messagebox">
    <?php echo $message ?>
    </div>
    <?php endif; ?>
    
    <div><label class="labelshow">Category</label><input id="category" class="insetfeed" name="category" type="text" placeholder="Category" value="<?PHP print $category; ?>"/><p class="errorinput"><?php echo $categoryErr;?></p></div>
    
    <div><label class="labelshow">Copyright</label><input id="copyright" class="insetfeed" name="copyright" type="text" placeholder="Copyright" value="<?PHP print $copyright; ?>"/><p class="errorinput"><?php echo $copyrightErr;?></p></div>
    
    <div><label class="labelshow">Feed Title</label><input id="feedtitle" class="insetfeed" name="feedtitle" type="text" placeholder="Feed Title" value="<?PHP print $feedtitle; ?>"/><p class="errorinput"><?php echo $feedtitleErr;?></p></div>
    
    <div><label class="labelshow">Website Link</label><input id="websitelink" class="insetfeed" name="websitelink" type="text" placeholder="Website Link" value="<?PHP print $websitelink; ?>"/><p class="errorinput"><?php echo $websitelinkErr;?></p></div>
    
    <div><label class="labelshow">Image Link</label><input id="imagelink" class="insetfeed" name="imagelink" type="text" placeholder="Image Link" value="<?PHP print $imagelink; ?>"/><p class="errorinput"><?php echo $imagelinkErr;?></p></div>
    
    <div><label class="labelshow">Image Title</label><input id="imagetitle" class="insetfeed" name="imagetitle" type="text" placeholder="Image Title" value="<?PHP print $imagetitle; ?>"/><p class="errorinput"><?php echo $imagetitleErr;?></p></div>
    
    <div><label class="labelshow">Subtitle</label><input id="subtitle" class="insetfeed" name="subtitle" type="text" placeholder="Subtitle" value="<?PHP print $subtitle; ?>"/><p class="errorinput"><?php echo $subtitleErr;?></p></div>
    
    <div><textarea id="description" name="feeddescription" class="textareadescription" placeholder="Enter feed description"><?php
        $out = htmlspecialchars_decode($feeddescription); 
        $out = str_replace( '\n', '<br />', $out ); 
        echo $out; 
        ?></textarea>
    
    <div class="submit"><input name="Submit" type="submit" class="submitbtn" value="Save"/></div>
    <input type="hidden" name="feedid" value="<?php echo $id; ?>"/>
    
    <div class="delete"><input name="Delete" type="submit" class="deletebtn" value="Delete"/></div>
    <input type="hidden" name="Delete" value="<?php echo $id; ?>">
    
    
    </div>
    </div>
    </div>
    
    </form>
    </fieldset>
    
    </body>
    </html>
    
    1 回复  |  直到 10 年前
        1
  •  1
  •   Ram Sharma Stanimir Stoyanov    10 年前

    改变

    <input type="hidden" name="Delete" value="<?php echo $id; ?>">
    
    $deleteuser = $_POST['Delete'];
    

    <input type="hidden" name="userid" value="<?php echo $id; ?>">
    
    $deleteuser = $_POST['userid'];
    

    从查询执行端,您需要像这样更改查询执行

    if($sql = mysql_db_query ($DBName, $Query, $Link)) if($sql = mysql_query ($Query))