سلام من میخام اطلاعت یک فرم رو ویرایش کنم وقتی روی دکمه ویرایش میزنم ریدایرکت میشه به صفحه مورد نظر ولی ویرایشی انجام نمیشه
میشه راهنمایی کنید مشکلم کجاست
<?php
if (isset($_GET['edit'])){
$id = $_GET['edit'];
$query = mysqli_query($db , "SELECT * FROM managecourses WHERE id = $id");
$courseInfo = mysqli_fetch_assoc($query);
?>
<div class="container" style="text-align: center;">
<div class="row justify-content-center">
<div class="col-xl-6">
<form class="form-signin" action="managecourses.php" method="post">
<h1 class="h3 mb-3 font-weight-normal" style="font-size: 20px;">ویرایش دوره</h1>
<input type="hidden" name="edit-id" value="<?php echo $courseInfo['id']; ?>">
<label for="inputEmail" class="sr-only">نام دوره</label>
<input type="text" name="course-name"
id="inputEmail" class="form-control" placeholder="نام دوره" value="<?php echo $courseInfo['course']; ?>" required autofocus>
<label for="inputEmail" class="sr-only">نام استاد</label>
<input type="text" name="teacher"
id="inputEmail" class="form-control" placeholder="نام استاد" value="<?php echo $courseInfo['teacher']; ?>" required autofocus>
<label for="inputEmail" class="sr-only">مدت دوره</label>
<input type="text" name="time" id="inputEmail"
class="form-control" value="<?php echo $courseInfo['time']; ?>" placeholder="مدت دوره" required>
<textarea class="form-control" value="<?php echo $courseInfo['description']; ?>" name="description"></textarea>
<input type="file" name="new-image" class="form-control">
<input type="hidden" name="image" value="<?php echo $courseInfo['image']; ?>" class="form-control">
<button class="btn btn-lg btn-primary" type="submit" name="editCourse">ویرایش دوره
</button>
</form>
</div>
</div>
</div>
<?php
}
if(isset($_POST['editCourse'])){
$id = $_POST['edit-id'];
$name = $_POST['course-name'];
$teacher = $_POST['teacher'];
$time = $_POST['time'];
$description = $_POST['description'];
if(!empty($_FILES['new-image']['name'])){
$courseImage = $_FILES['new-image']['name'];
$tmp = $_FILES['new-image']['tmp_name'];
move_uploaded_file($tmp ,'../upload/' . $courseImage);
}else{
$courseImage = $_POST['image'];
}
$editCourse = mysqli_query($db , "UPDATE managecourses SET course ='$name' , teacher = '$teacher' , time = '$time' , description = '$description' , courseImage = '$courseImage' WHERE id=$id ");
if($editCourse){
header("location:managecourses.php");
}
}
?>
سلام @wxyz4367 من کدتون رو نگاه کردم فایل config رو فراخوانی نکرده اید، مقدار $db وجود ندارد باید فایل config رو فراخوانی کنید.
موفق باشید :)
@alirezatahriri
ممنون از پاسخ ولی دوست عزیز من فقط بخشی که مربوط به ویرایش میشد رو ارسال کردم بالای همین صفحه فایل کانفیگ فراخونی شد و اصلا اروری ندارم
مشکل اینجاست با کد بالا که نمیدونم اشتباهم کجاست ویرایش فقط انجام نمیشه
وقتی روی دکمه ویرایش میزنم هیچ اتفاقی نمیفته صفحه ریدارکت میشه فقط به مسیری که بعد از ویرایش بهش اشاره کردم
سلام @wxyz4367 این کد رو تغییراتی دادم، ولی بخش CourseImage به درستی کار نمیکنه ولی الان آپدیت شدن اطلاعات به درستی انجام میشود:
<?php
$db = mysqli_connect('localhost', 'root', 'root', 'managecourses');
error_reporting(E_ALL);
if (isset($_GET['edit'])) {
$id = $_GET['edit'];
$query = mysqli_query($db, "SELECT * FROM managecourses WHERE id = $id");
$courseInfo = mysqli_fetch_assoc($query);
}
?>
<div class="container" style="text-align: center;">
<div class="row justify-content-center">
<div class="col-xl-6">
<form class="form-signin" action="index.php" method="post">
<h1 class="h3 mb-3 font-weight-normal" style="font-size: 20px;">ویرایش دوره</h1>
<input type="hidden" name="edit-id" value="<?php echo $courseInfo['id']; ?>">
<label for="inputEmail" class="sr-only">نام دوره</label>
<input type="text" name="course-name" id="inputEmail" class="form-control" placeholder="نام دوره" value="<?php echo $courseInfo['course']; ?>" required autofocus>
<label for="inputEmail" class="sr-only">نام استاد</label>
<input type="text" name="teacher" id="inputEmail" class="form-control" placeholder="نام استاد" value="<?php echo $courseInfo['teacher']; ?>" required autofocus>
<label for="inputEmail" class="sr-only">مدت دوره</label>
<input type="text" name="time" id="inputEmail" class="form-control" value="<?php echo $courseInfo['time']; ?>" placeholder="مدت دوره" required>
<textarea class="form-control" name="description"><?php echo $courseInfo['description']; ?></textarea>
<input type="file" name="new-image" class="form-control">
<input type="hidden" name="image" value="<?php echo $courseInfo['image']; ?>" class="form-control">
<button class="btn btn-lg btn-primary" type="submit" name="editCourse">ویرایش دوره
</button>
</form>
</div>
</div>
</div>
<?php
if (isset($_POST['editCourse'])) {
$id = $_POST['edit-id'];
$name = $_POST['course-name'];
$teacher = $_POST['teacher'];
$time = $_POST['time'];
$description = $_POST['description'];
if (!empty($_FILES['new-image']['name'])) {
$courseImage = $_FILES['new-image']['name'];
$tmp = $_FILES['new-image']['tmp_name'];
move_uploaded_file($tmp, 'upload/' . $courseImage);
} else {
$courseImage = $_POST['image'];
}
$editCourse = mysqli_query($db, "UPDATE `managecourses` SET `course` = '$name' , `teacher` = '$teacher' , `time` = '$time' , `description` = '$description' , `courseImage` = '$courseImage' WHERE `id`=$id");
if ($editCourse) {
header("location: index.php");
}
}
?>
راستی هیچ وقت برای textarea از value استفاده نکنید چون کار نمیکنه و مقدار رو بین تگها بنویسید :)
کدهام اشتباهه که اپدیت انجام نمیشه؟
چرا یک وقتایی رو یک سری پروژه ها ثبت نام و اپدیت اعمال نمیشه؟ با وجود اینکه از کدهای یکسان استفاده شده
قبل این که query ادیت رو ران کنی یه vardump از POST$ بگیر ببین دیتا ها رو دریافت میکنه یا نه
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟