PDA

View Full Version : لود نشدن مقادیر بعد از ریفرش صفحه



abbas3zaar
چهارشنبه 05 خرداد 1395, 22:27 عصر
من یه صفحه دارم (add_score.php) که توش با Dropdown اسم دانش آموز رو انتخاب میکنم (عکس زیر)

http://8pic.ir/images/b6ivwilylahjcrw0udtk.jpg


بعد که دکمه افزودن نمره رو میزنم در صفحه ی add_score_step2.php آی دی دانش آموز انتخاب شده رو isset میکنم و میگیرم میریزم داخل متغییر و یبا سلکت کردن از دیتابیس نام و لیست دروس اون دانش آموزی که توی Dropdown انتخاب کرده بودیم رو در این صفحه میاریم (عکس زیر)

http://8pic.ir/images/wzqccpmk8bqx4f0ozo37.jpg



با اوردن اطلاعات به این صفحه مشکلی ندارم. مشکلم اینه وقتی در این صفحه که اطلاعات اومد صفحه مرورگر رو ریفرش میکنم ارور میده (عکس زیر).
چرا ارور میده؟ چرا داخل input نام دانش آموز اون کدها میاد. چیکار کنیم اگه صفحه ریفرش شد اینجوری نشه؟

http://8pic.ir/images/9yc91ss9psihcblf60s5.jpg


لاین 106 که ارور داده کدش اینه:




$query = "SELECT * FROM tbl_lessons
WHERE (lessons_paye_id = '{$student_shakhe}' AND lessons_reshte_id = '{$student_reshte}')
OR (lessons_reshte_id = 0 AND lessons_paye_id = 0) ";

ravand
پنج شنبه 06 خرداد 1395, 07:44 صبح
توی این اخطار دو تا متغییر تعریف نشدن. و مقداری بهشون داده نشده. اگه فکر میکنی مجبوری قبل از اینکه مقداری بهشون داده بشه. شما خودتون مقدار صفر بهشون بده.

tuytoosh
پنج شنبه 06 خرداد 1395, 10:08 صبح
احتمالا متد ارسال فرم اولتون post هست و وقتی صفحه دوم رو ریفرش میکنید درخواست با متد get ارسال میشه و... سعی کنید از متد get استفاده کنید یا اینکه بعد توی صفحه دوم مقادیر رو توی session ذخیره کنید که اگه متد get بود از session بخونید اطلاعات رو...

abbas3zaar
پنج شنبه 06 خرداد 1395, 15:55 عصر
احتمالا متد ارسال فرم اولتون post هست و وقتی صفحه دوم رو ریفرش میکنید درخواست با متد get ارسال میشه و... سعی کنید از متد get استفاده کنید یا اینکه بعد توی صفحه دوم مقادیر رو توی session ذخیره کنید که اگه متد get بود از session بخونید اطلاعات رو...

در صفحه اول add_score.php (عکس اول) دانش آموز انتخاب میشه و دکمه افزودن نمره که زده میشه با دستور زیر میریم به صفحه add_score_step2.php


کلا دستور صفحه اولم (add_score.php) اینه:




<form class="form-horizontal" action="add_score_step2.php" method="post">
<div class="form-group">
<label for="paye" class="col-sm-2 control-label pull-right">انتخاب دانش آموز :</label>
<div class="col-sm-10">
<select id="select_student" class="form-control" name="select_student">
<?php
$query = "SELECT * FROM tbl_students
INNER JOIN tbl_reshte ON tbl_students.student_reshte = tbl_reshte.reshte_id
INNER JOIN tbl_paye ON tbl_students.student_paye = tbl_paye.paye_id";
$select_students_query = mysqli_query($connection,$query);

while($row = mysqli_fetch_assoc($select_students_query)) {
$student_id = $row['student_id'];
$student_code = $row['student_code'];
$student_firstname = $row['student_firstname'];
$student_lastname = $row['student_lastname'];
$student_reshte = $row['student_reshte'];
$student_shakhe = $row['student_paye'];

$reshte_name = $row['reshte_name'];
$paye_name = $row['paye_name'];

echo '<option value="' . $student_id . '">' . $student_firstname . ' ' . $student_lastname . ' (' . $paye_name . ' ' . $reshte_name . ')' . '</option>';
}
?>
</select>
</div>
</div>


<div class="form-group">
<div class="col-offset-2 col-sm-10">
<button type="submit" name="add_student_score" class="btn btn-success"><i class="fa fa-check-square-o fa-lg"></i> افزودن نمره</button>
</div>
</div>
</form>





در صفه دوم که اسمش add_score_step2.php هست دستورات بالای صفحه که مقادیر ارسال شده از فرم قبلی هست هم اینه:






<?php
if(isset($_POST['add_student_score'])){
$selected_student = $_POST['select_student'];

$query = "SELECT * FROM tbl_students
INNER JOIN tbl_reshte ON tbl_students.student_reshte = tbl_reshte.reshte_id
INNER JOIN tbl_paye ON tbl_students.student_paye = tbl_paye.paye_id
WHERE student_id = '{$selected_student}' ";
$selected_student_query = mysqli_query($connection, $query);

while($row = mysqli_fetch_array($selected_student_query)){
$student_id = $row['student_id'];
$student_code = $row['student_code'];
$student_firstname = $row['student_firstname'];
$student_lastname = $row['student_lastname'];
$student_birthdate = $row['student_birthdate'];
$student_codemelli = $row['student_codemelli'];
$student_reshte = $row['student_reshte'];
$student_pic = $row['student_pic'];
$student_fathername = $row['student_fathername'];
$student_shakhe = $row['student_paye'];

$reshte_name = $row['reshte_name'];
$paye_name = $row['paye_name'];

}

if(!$selected_student_query) {
die("QUERY FAILED , " . mysqli_error($connection));
}
}
?>

abbas3zaar
پنج شنبه 06 خرداد 1395, 23:10 عصر
توی این اخطار دو تا متغییر تعریف نشدن. و مقداری بهشون داده نشده. اگه فکر میکنی مجبوری قبل از اینکه مقداری بهشون داده بشه. شما خودتون مقدار صفر بهشون بده.

خب اون دو تا مقدار ندارن. اونی که در input نام دانش آموز هست چی هست؟