2014-09-08 2 views
0

У меня есть скрипт для редактирования существующих данных. Массив выборки используется для заполнения полей данными и запросами для удаления записи и изменения записи. Когда я нажимаю «Сохранить», запись удаляется и не сохраняется, даже если она имеет правильный идентификатор.php - набор обновлений и удаление проблем - сохранение удаленных записей

$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'"; 

И вход в паре с идентификатором:

<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

Sidenote: У вас есть два именованных элемента 'name =" Delete "' с тем же именем; тип отправки и скрытый тип; конфликт. –

ответ

1

изменение

<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))

+0

Это резкое изменение вашего [оригинального ответа] (http://stackoverflow.com/revisions/25725926/1). –

+0

Я только корректирую свой ответ шаг за шагом –

+0

Спасибо, что сделал! – MBM

Смежные вопросы