Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > สอบถามปัญหาหาเกี่ยวกับ PHP ล็อกอินไม่ผ่านจอขาว ไม่ทำงานเลยครับ



 

สอบถามปัญหาหาเกี่ยวกับ PHP ล็อกอินไม่ผ่านจอขาว ไม่ทำงานเลยครับ

 



Topic : 110843



โพสกระทู้ ( 84 )
บทความ ( 0 )



สถานะออฟไลน์




เป็นอะไรครับ ล็อกอินเชคไม่ผ่านจอขาวมันไม่ทำงาน
Code (PHP)
<?PHP
session_start();
include("configlogin.php");
require_once "sql_inject.php";
$bDestroy_session = TRUE;
$url_redirect = 'login.php';
$sqlinject = new sql_inject('./log_file_sql.log',$bDestroy_session,$url_redirect);
//$sqlinject->test($msquery);

$pass = stripslashes(md5($_POST['pass']));
$pass = htmlspecialchars($pass,ENT_QUOTES);
$login = stripslashes($_POST['login']);
$login = htmlspecialchars($login,ENT_QUOTES);
$db = connectDb();
$sql_username_check = "SELECT CustomerID FROM [WarZ].[dbo].[Accounts] WHERE email='$login'";
$sql_username_check = sqlsrv_query( $db, $sql_username_check);
$username_check = count(sqlsrv_fetch_array( $sql_username_check, SQLSRV_FETCH_ASSOC));

$sql_pass_check = "SELECT MD5Password FROM [WarZ].[dbo].[Accounts] WHERE MD5Password='$pass' AND email = '$login'";
$sql_pass_check = sqlsrv_query( $db, $sql_pass_check);
$pass_check = count(sqlsrv_fetch_array($sql_pass_check, SQLSRV_FETCH_ASSOC));

if (empty($login) || empty($pass))
{
    ?>
	<script>
        window.alert("กรุณากรอกข้อมูลให้หมด!");
        window.location='../index.php';
    </script>
    <?php
}
elseif (($username_check != 1))
{
    ?>
	<script>
        window.alert("Email ไม่ถูกต้อง!");
        window.location='../index.php';
    </script>
    <?php
}
elseif ($username_check == 1 && $pass_check != 1)
{
    ?>
	<script>
        window.alert("Password ไม่ถูกต้อง!");
        window.location='../index.php';
    </script>
    <?php
}
elseif ($username_check != 1 && $pass_check != 1)
{
    ?>
	<script>
        window.alert("Email/Pass ไม่ถูกต้อง!");
        window.location='../index.php';
    </script>
    <?php
}
else
{

	$sql_nome = "SELECT AccountStatus FROM [WarZ].[dbo].[Accounts] WHERE email='$login'";
	$sqlinject->test($sql_nome);        
        $sql_nome = sqlsrv_query( $db, $sql_nome);
        if( $sql_nome === false ) {
             die( print_r( sqlsrv_errors(), true));
        }
        if( sqlsrv_fetch( $sql_nome ) === false) {
             die( print_r( sqlsrv_errors(), true));
        } 
        $nome = sqlsrv_get_field( $sql_nome, 0);

	$sql_mail = "SELECT email FROM [WarZ].[dbo].[Accounts] WHERE email='$login'";
	$sqlinject->test($sql_mail);
	$sql_mail = sqlsrv_query( $db, $sql_mail);
        if( $sql_mail === false ) {
             die( print_r( sqlsrv_errors(), true));
        }
        if( sqlsrv_fetch( $sql_mail ) === false) {
             die( print_r( sqlsrv_errors(), true));
        } 
        $email = sqlsrv_get_field( $sql_mail, 0);
        
	$_SESSION['nome'] = $nome;
	$_SESSION['email'] = $email;
	$_SESSION['pass'] = $pass;
	$_SESSION['login'] = $login;
    header ('Location: ../index.php');
}
?>

หรือตรงนี้ต้องใส่ MD5 ทั้งสอง ผมทำแล้วน่ะคับจอขาวเหมือนกัน
Code (PHP)
$pass = stripslashes(md5($_POST['pass']));
$pass = htmlspecialchars($pass,ENT_QUOTES);




Tag : PHP, Ms SQL Server 2008









ประวัติการแก้ไข
2014-08-24 12:16:17
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-08-24 12:12:37 By : freedom454 View : 1051 Reply : 12
 

 

No. 1



โพสกระทู้ ( 336 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


display_errors เปิดหรือป่าว ?






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-24 12:46:46 By : nukedonut1
 


 

No. 2



โพสกระทู้ ( 84 )
บทความ ( 0 )



สถานะออฟไลน์


ใน php.ini หรอหะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-24 13:11:29 By : freedom454
 

 

No. 3



โพสกระทู้ ( 84 )
บทความ ( 0 )



สถานะออฟไลน์


เปิดอยู่ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-24 13:33:26 By : freedom454
 


 

No. 4



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



สถานะออฟไลน์


Code
$pass = stripslashes(md5($_POST['pass']));
$pass = htmlspecialchars($pass,ENT_QUOTES);
$login = stripslashes($_POST['login']);
$login = htmlspecialchars($login,ENT_QUOTES);


เปลี่ยนตรงนี้ให้ถูกต้องด้วยก็ดีนะครับ

stripslashes ไช้เอา "/" ออกนะครับ ไม่เหมาะที่จะใช้กับคำสั่ง SQL
คำสั่ง SQL ต้องใช้ร่วมกับ addslashes ครับ เพื่อความปลอดภัยของโค๊ด

และเมื่อใช้ md5() ก็ไม่ต้องใช้อย่างอื่นแล้วครับ มันปลอดภัยพออยู่แล้ว

addslashes — Quote string with slashes
stripslashes — Un-quotes a quoted string
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-24 14:22:58 By : Chaidhanan
 


 

No. 5



โพสกระทู้ ( 84 )
บทความ ( 0 )



สถานะออฟไลน์


คือ 2 ตัวนี้เอง ออกใช่ไหมครับ
stripslashes
htmlspecialchars

Code (PHP)
$pass = md5($_POST['pass']);
$pass = md5($pass,ENT_QUOTES);

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-24 14:37:23 By : freedom454
 


 

No. 6



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 4 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-08-24 14:22:58
รายละเอียดของการตอบ ::
คำสั่ง SQL ไม่ควรใช้กับ addslashes() ครับ เพราะมันเก่าไปแล้ว ตั้งแต่สมัย PHP3 ที่เริ่มต้นด้วย mysql หรือ msql
สมัยนั้น database extension เหล่านั้นมีรูปแบบการ escape ด้วย \ เพียงอย่างเดียว
แต่ต่อมาพอมี extension มากขึ้น แต่ละตัวก็ escape ไม่เหมือนกัน
แม้แต่ MySQL ก็สามารถมี escape ได้สองแบบ คือแบบ \ และแบบ ANSI (เช่น ' จะ escape เป็น '' )

"ต้อง" ใช้ฟังก์ชั่นพวก xxxxx_escape_string()
เช่น
mysql_real_escape_string()
mysqli_escape_string()

เพราะฟังก์ชั่นเหล่านี้ออกแบบมาเพื่อใช้ตัว database server เป็นผู้ escape ไม่ใช่ PHP
พูดง่ายๆ คือมันจะส่งข้อมูลที่ต้องการจะ escape ไปให้ database server เพื่อ escape
ดังนั้นจะได้ข้อมูลที่ถูกต้องและปลอดภัยที่สุดสำหรับ database ชนิดนั้นๆ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-24 17:56:29 By : phpinfo()
 


 

No. 7



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

stripslashes() ก็ไม่ต้องใช้ครับ

แต่ให้ไปปรับเปลี่ยน php.ini ในส่วนของ magic_quotes_gpc ให้เป็น off
หรือจะปรับใน .htaccess ก็ได้

แต่ถ้าเป็น PHP version ตั้งแต่ 5.4 เป็นต้นไปก็ไม่ต้องไปปรับแล้วครับ เพราะมันเลิกใช้แล้ว

php.ini
magic_quotes_gpc=off


.htaccess
php_value magic_quotes_gpc off

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-24 18:01:48 By : phpinfo()
 


 

No. 8



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

จากกระทู้ https://www.thaicreate.com/php/forum/110840.html
ทำให้ผมรู้ว่าคุณใช้ SQL Driver จาก Microsoft ซึ่งเป็น extension ใหม่เพื่อใช้กับ PHP5.3+

มันไม่มี escape function แต่มันมี parameter substitution ให้ในตัวของมันเองเลย
ดังนั้นแนะนำให้ใช้ query ลักษณะนี้ครับ

Code
$sql_username_check = "SELECT CustomerID FROM [WarZ].[dbo].[Accounts] WHERE email=?"; $sql_username_check = sqlsrv_query( $db, $sql_username_check, array($login));


จะเห็นว่ามี ? สีแดงใน SQL
นั่นคือสิ่งที่จะแทนที่ด้วย array($login) ครับ

หากมีหลายตัวก็ใช้แบบนี้

Code
$sql_username_check = "SELECT CustomerID FROM [WarZ].[dbo].[Accounts] WHERE email=? AND xxx=?"; $sql_username_check = sqlsrv_query( $db, $sql_username_check, array($login, $xxx));


อ้างอิง
http://msdn.microsoft.com/en-us/library/cc296184.aspx
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-24 19:18:47 By : phpinfo()
 


 

No. 9



โพสกระทู้ ( 212 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 8 เขียนโดย : phpinfo() เมื่อวันที่ 2014-08-24 19:18:47
รายละเอียดของการตอบ ::
ไม่เห็นพี่นานแล้ว... มาทีก็จัดเต็มเลยน่ะครับ ชอบจริงๆ และขอบคุณครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-25 00:42:27 By : cowboycnx
 


 

No. 10



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 9 เขียนโดย : cowboycnx เมื่อวันที่ 2014-08-25 00:42:27
รายละเอียดของการตอบ ::
ขอบคุณครับ

ก็ยังเข้ามาดูบ่อยๆ ครับ
แต่ไม่ค่อยจะตอบ เพราะส่วนใหญ่ก็คำถามเดิมๆ ที่คิดว่ายังไงก็มีคนอื่นช่วยตอบอยู่แล้วน่ะครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-25 10:33:31 By : phpinfo()
 


 

No. 11



โพสกระทู้ ( 5,105 )
บทความ ( 4 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-25 10:37:27 By : apisitp
 


 

No. 12



โพสกระทู้ ( 212 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 10 เขียนโดย : phpinfo() เมื่อวันที่ 2014-08-25 10:33:31
รายละเอียดของการตอบ ::
พี่เค้าเป็นไอดอลของผม....

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-25 13:01:11 By : cowboycnx
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามปัญหาหาเกี่ยวกับ PHP ล็อกอินไม่ผ่านจอขาว ไม่ทำงานเลยครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 01
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่