PDA

View Full Version : مشکل با فساد DB



sempaisaleh
پنج شنبه 06 آبان 1395, 16:57 عصر
با سلام خدمت دوستان
یه روت نوشتم که به کنترلر بره. حالا توی کنترلر گفتم که بره توی دیتابیس یه select بزنه ولی وقتی کد DB رو میذارم ارور میده.

<?php namespace App\Http\Controllers;

use Illuminate\Foundation\Bus\DispatchesCommands;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests ;
use Illuminate\Support\Facades\DB;


class Controller extends BaseController {

use DispatchesCommands, ValidatesRequests;
public function testmethod()
{
if(DB::select('select * from user where username = :username1 ', ['username1' =>$txtuser]))
{
return view('loginuser1',['name1'=>$txtuser])
}

}
}

plague
جمعه 07 آبان 1395, 12:55 عصر
برادر کدت رو که بد گزاشتی قابل خوندن نیست
متن ارروری که میگیری رو هم ننوشتی که از خود کدت مهم تره
فکر نمیکنم سازنده لاراول هم بتونه کمکی بکنه

sempaisaleh
شنبه 08 آبان 1395, 07:30 صبح
با سلام
کد که از تو سیستم خودم میبینم درست نشون میده ولی چشم. الان فایلش رو ضمیمه میکنم. ارور خاصی نمیده. من هر موقع کار میکنم موقع ارورهاش فقط میگه whoops look like something went wrong

plague
شنبه 08 آبان 1395, 14:51 عصر
کدی که اینجا گزاشتی رو نگاه کن .... میبینی اونهمه کدهای html آضافه رو ؟ بخاطر اینه که وقتی کد میزاری اینجا تو تگ کد نباید دیگه تگی بزاری روش مثلا رنگ بهش بدی یا چپ و راست ببری نوشته ها رو وگرنه اینجوری خراب میشه .... ویرایش کن و کد رو بدون هیچ تگ دیگه ای بزار

وقتی اررور میده زیر whoops look like something went wrong جزئیات اررور و صفحه اررور رو مینویسه که اگه یه سرچ کنی هم متوجه میشی برا چیه

sempaisaleh
یک شنبه 09 آبان 1395, 07:03 صبح
کدی که اینجا گزاشتی رو نگاه کن .... میبینی اونهمه کدهای html آضافه رو ؟ بخاطر اینه که وقتی کد میزاری اینجا تو تگ کد نباید دیگه تگی بزاری روش مثلا رنگ بهش بدی یا چپ و راست ببری نوشته ها رو وگرنه اینجوری خراب میشه .... ویرایش کن و کد رو بدون هیچ تگ دیگه ای بزار

وقتی اررور میده زیر whoops look like something went wrong جزئیات اررور و صفحه اررور رو مینویسه که اگه یه سرچ کنی هم متوجه میشی برا چیه

اینم کد اصلی

<?php namespace App\Http\Controllers;

use Illuminate\Foundation\Bus\DispatchesCommands;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests ;
use Illuminate\Support\Facades\DB;


class Controller extends BaseController {

use DispatchesCommands, ValidatesRequests;
public function testmethod()
{
if(DB::select('select * from user where username = :username1 ', ['username1' =>$txtuser]))
{
return view('loginuser1',['name1'=>$txtuser])
}

}
}

در خصوص ارور هم باید بگم هیچی نشون نمیده زیرش. اینم تصویرش
143243

sempaisaleh
دوشنبه 10 آبان 1395, 06:36 صبح
دوستان کسی نیست راهنمایی کنه؟ (پروژه این هفته مون. مثل چیز تو گل گیر کردم خخخخخ)

hamedarian2009
دوشنبه 10 آبان 1395, 10:02 صبح
سلام. اول debug رو فعال کنید ببینیم ارورتون چیه بعد خودتون هم میتونید با ارور مشکلتون رو حل کنید. توی فایل env مقدار APP_DEBUG رو برابر true قرار بدین و متن ارور رو اینجا قرار بدین

sempaisaleh
دوشنبه 10 آبان 1395, 11:36 صبح
سلام. اول debug رو فعال کنید ببینیم ارورتون چیه بعد خودتون هم میتونید با ارور مشکلتون رو حل کنید. توی فایل env مقدار APP_DEBUG رو برابر true قرار بدین و متن ارور رو اینجا قرار بدین

برابر True هست ولی بازم چیزی نشون نمیدم

plague
دوشنبه 10 آبان 1395, 16:34 عصر
کد دتابیس رو برداری درست کار میکنه ؟
من خیلی کار نکردم با لاراول ووقتی هم کار میکنم از orm استفاده میکنم نه فساد دیتابیس
ولی اینی که من میبینم $txtuser تعریف نشده و معلوم نیست از کجا اومده این میتونه باعث اررور باشه

sempaisaleh
دوشنبه 10 آبان 1395, 19:57 عصر
کد دتابیس رو برداری درست کار میکنه ؟
من خیلی کار نکردم با لاراول ووقتی هم کار میکنم از orm استفاده میکنم نه فساد دیتابیس
ولی اینی که من میبینم $txtuser تعریف نشده و معلوم نیست از کجا اومده این میتونه باعث اررور باشه

بله درست میشه. جاش textuser میگم return کن مشکلی نداره. اونم از یه فایل دیگه که کنترلر رو rout میکنه میاد به این سمت

sempaisaleh
سه شنبه 11 آبان 1395, 07:02 صبح
از بیخ و بونیه مشکل داره.
دوتا view به نام های Home1 و userlogin1 دارم. حالا میام دو تا Rout مینویسم که بتونم به اونا دست پیدا کنم دا خل فایل rout.

Route::get('loginu', function () {
$users=DB::select('select * from user where username = :username1 ', ['username1' => $txtuser]);
if ($users<>'') {
return view('loginuser1');
}
});

Route::get('userlogin', function()
{
return view('home1');
});

بعد میام داخل فایل Home1 این کد مینویسم که بیاد یوزر و پسورد رو بگیره و به Loginu که قبلا به view از قبل طراحی شده به نام loginuser1 ارسال کنه. که توی روت نوشتم که قبلش یه سرچ کن اگه وجود داشت بره به View بعدی که همون loginuser1 باشه.

<html>
<body>
<form action="localhost/laravel/public/loginu" method="post">
<input type ="text" name="txtname">
<input type ="password" name="txtpass">
<input type ="submit" name="submit" value= "Submit">
</form>
</body>
</html>

اینم کد loginuser1 هست.

<html>
<body>
hi ,<?php echo $name1?>
</body>
</html>

حالا میزنم http://localhost/laravel/public/userlogin میره صفحه Home1 رو میاره بعد که داده وارد میکنم و دکمه submit رو میزنم دیگه فایل loginuser1 نمیاد. حالا چه کل کد دیتابیس توش باشه چه فقط نوشته باشم که فایل loginuser1 رو return کن. هیچ کدومش رو نمیاره.

sempaisaleh
سه شنبه 11 آبان 1395, 11:41 صبح
دوستان کسی میدونه این خط کلا چه مشکلی داره؟ شاید کاستی داره یا کلا برای ارتباط با دیتابیس به غیر از این خط خطوط دیگه ای هم باید نوشت.

$users=DB::select('select * from user where username = :username1 ', ['username1' => $txtuser]);

postpost
سه شنبه 02 آذر 1395, 09:22 صبح
دلیلی داره اینجوری نمیزنی مطابق رکومندیشن خود سایت لاراول؟


$users = DB::table('user')->select('username', $txtuser)->get();

اینجوری دیگه مشکلات اینجکت و اینجور چیزها را نداری.

اصلا مزه لاراول به اینه که اینجوری کنیم. البته خود الکوینت که مثل جادو گری میمونه.