سلام بچه ها ب ی مشکل خوردم اساسی.....
اول بگم ک دارم ی پروژه میسازم با معماری mvc در php.متغیرو وقتی داخل دستور if میزارم کلا ارور میده ک متغیر ناشناختس ولی تا ک از دستور if بیرونش میارم متغیره کار میکنه خواستم ببینم مشکل از کجاس.دمتون گرم
@hamzehhemmati0
سلام.
وقتی که نه کد و نه اررور رو قرار ندادید ما از کجا بدونیم مشکل از چیه. لطفا اطلاعات رو کامل بدید.
@mohsenbostan
سلام دوست عزیز اینم کد ها
case "edit" :
if (isset($_GET['id']) && !empty($_GET['id'])){
$id = intval($_GET['id']);
$showUser = $user->selectUserById($id);
}
break;
<?php foreach ($showUser as $row): ?>
<form method="post" action="index.php?c=user&a=edit">
<div class="form-group">
<label>نام*</label>
<input type="text" value="<?php echo $row['firstname']; ?>" name="frm[name]"
class="form-control"
placeholder="نام...">
</div>
<div class="form-group">
<label>نام خانوادگی*</label>
<input type="text" value="<?php echo $row['lastname']; ?>" name="frm[lastname]"
class="form-control"
placeholder="نام خانوادگی...">
</div>
<div class="form-group">
<label>شماره تلفن*</label>
<input type="text" value="<?php echo $row['mobile']; ?>" name="frm[mobile]"
class="form-control" placeholder="شماره همراه...">
</div>
<div class="form-group">
<label>نام کاربری*</label>
<input type="text" value="<?php echo $row['username']; ?>" name="frm[username]"
class="form-control"
placeholder="نام کاربری...">
</div>
<div class="form-group">
<label>ایمیل*</label>
<input type="email" value="<?php echo $row['email']; ?>" name="frm[email]"
class="form-control" placeholder="ایمیل...">
</div>
<div class="form-group">
<label>تکرار ایمیل*</label>
<input type="email" value="<?php echo $row['email']; ?>" name="frm[remail]"
class="form-control"
placeholder="تکرار ایمیل...">
</div>
<div class="form-group">
<label>نقش کاربری</label>
<select name="frm[role]" class="form-control">
<option value="1"<?php if ($row['role']==1) echo "selected"; ?>>مشارک کننده</option>
<option value="2"<?php if ($row['role']==2) echo "selected"; ?>>نویسنده</option>
<option value="3"<?php if ($row['role']==3) echo "selected"; ?>>نویسنده ارشد</option>
<option value="4"<?php if ($row['role']==4) echo "selected"; ?>>مدیر</option>
</select>
<?php
switch ($row['role']) {
case '1':
echo '<span class="label label-default">مشارکت کننده</span>';
break;
case '2':
echo '<span class="label label-warning"> نویسنده</span>';
break;
case '3':
echo '<span class="label label-info">نویسنده ارشد</span>';
break;
case '4':
echo '<span class="label label-primary">مدیر</span>';
break;
}
?>
</div>
<input type="submit" name="btn" class="btn btn-success center-block" value="ثبت">
</form>
<?php endforeach; ?>
من در کیس edite از متغیر $showUser استفاده کردم و اون رو تو شرط قرار دادم وقتی میام اونو در دستور foreach قرار بدم ارور میده و زیر متغیرم خط قرمز میکشه و میگه نتونسته متغیرو پیدا کنه
@mohsenbostan
اینم بگم ک وقتی اونو از شرط if بیرون میارم دیگ متغیره تو صفحه edite قابل دسترسی هست و خطی قرمزی زیرش کشیده نمیشه
@mohsenbostan
خب من میخام بگم اگه ایدی از طریق url ست شدهع بود و خالی نبود حالا بیا ایدی رو intval کن و بزارش تو متغیر
@hamzehhemmati0
ببینید باید مرحله ای بررسی کنید. شما اول یک متغیر عادی رو قبل از هر کاری تعریف کن و فقط مقدارش رو تغییر بده
@mohsenbostan
l مشکل متغیر درست شد الان ی ارور میاد ک نمیدونم منظورش چیع
( ! )19 Warning: Invalid argument supplied for foreach() in E:\wamp۶۴\www\۷l-script\admin\view\user\edit.php on line
@hamzehhemmati0
سلام و وقت بخیر
مطمئن هستید که ارایه دریافت میکنید و توی for each میگذارید ؟
@TimeRunner2359
سلام
تو foreach کار میکنه ولی وقتی دکمه submit رو میزنم ک داده های فرم رو بگیرم این ارور رو میبده
@mohsenbostan
@TimeRunner2359
کد پی اپ پی:
case "edit" :
if (isset($_GET['id'])) {
$id = $_GET['id'];
// var_dump($id);die(1);
$showUser = $user->selectUserById($id);
}
break;
کد دیتابیس:
public function selectUserById($id)
{
$result = $this->db->prepare("select * from sl_user where id=:id");
$result->bindParam("id", $id);
$result->execute();
if ($result->rowCount() >= 1) {
return $result;
}
return false;
}
کد اچ تی ام ال:
<?php foreach ($showUser as $row):
// var_dump($row);
?>
<form method="post" action="index.php?c=user&a=edit">
<div class="form-group">
<label>نام*</label>
<input type="text" value="<?php echo $row['firstname'] ; ?>" name="frm[name]"
class="form-control"
placeholder="نام...">
</div>
<div class="form-group">
<label>نام خانوادگی*</label>
<input type="text" value="<?php echo $row['lastname'] ; ?>" name="frm[lastname]"
class="form-control"
placeholder="نام خانوادگی...">
</div>
<div class="form-group">
<label>شماره تلفن*</label>
<input type="text" value="<?php echo $row['mobile'] ; ?>" name="frm[mobile]"
class="form-control" placeholder="شماره همراه...">
</div>
<div class="form-group">
<label>نام کاربری*</label>
<input type="text" value="<?php echo $row['username'] ; ?>" name="frm[username]"
class="form-control"
placeholder="نام کاربری...">
</div>
<div class="form-group">
<label>ایمیل*</label>
<input type="email" value="<?php echo $row['email'] ; ?>" name="frm[email]"
class="form-control" placeholder="ایمیل...">
</div>
<div class="form-group">
<label>تکرار ایمیل*</label>
<input type="email" value="<?php echo $row['email'] ; ?>" name="frm[remail]"
class="form-control"
placeholder="تکرار ایمیل...">
</div>
<div class="form-group">
<label>نقش کاربری</label>
<select name="frm[role]" class="form-control">
<option value="1">مشارک کننده</option>
<option value="2">نویسنده</option>
<option value="3">نویسنده ارشد</option>
<option value="4">مدیر</option>
</select>
<?php
switch ($row['role']) {
case '1':
echo '<span class="label label-default">مشارکت کننده</span>';
break;
case '2':
echo '<span class="label label-warning"> نویسنده</span>';
break;
case '3':
echo '<span class="label label-info">نویسنده ارشد</span>';
break;
case '4':
echo '<span class="label label-primary">مدیر</span>';
break;
}
?>
</div>
<input type="submit" name="btn" class="btn btn-success center-block" value="ثبت">
</form>
<?php endforeach; ?>
@hamzehhemmati0
خب ببینید شما اول باید بدونید که نوع داده تون چیه!
foreach یک حلقه برای پیمایش آرایه هستش.
خروج متغیرتون چیه؟
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟