ThaiSEOBoard.com

พัฒนาเว็บไซต์ => Programming => ข้อความที่เริ่มโดย: Normaderm ที่ 02 สิงหาคม 2009, 15:07:02



หัวข้อ: Cannot modify header information [PHP ช่วยดูทีครับ]
เริ่มหัวข้อโดย: Normaderm ที่ 02 สิงหาคม 2009, 15:07:02
Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\therichking\dologin.php:3) in C:\AppServ\www\therichking\dologin.php on line 17


เวลาผมจะทำ การ รีไดเร็ก มันจะขึ้นแบบนี้ตลอดเลยอะครับ มันเป็นเพราะอะไรหรอ

นี่โค้ดครับ คือแค่อยู่ว่างๆ หัดทำเว็บตามหนังสือซะหน่อย เออเร้อ ซะงั้น  :P

โค๊ด:
<? require('Connections/trkDB.php');
if(isset($_POST['login']))
{ echo"can't go";
mysql_select_db($database_trkDB,$trkDB);
$queryLogin = "SELECT member_Email,member_pass FROM trk_Member WHERE member_Email='".$_POST['email']."'AND member_pass='".$_POST['pass']."'";
$rcsLogin = mysql_query($queryLogin,$trkDB)or die(mysql_error());
$totoalRows = mysql_num_rows($rcsLogin);
$rowLogin = mysql_fetch_array($rcsLogin);
if($totalRows==1){
session_start();
$_SESSION['MM_Email']=$rowLogin['member_Email'];
$_SESSION['MM_pass']=$rowLogin['member_pass'];
header(sprintf("Location: %s","member.php"));
}
else
{
header(sprintf("Location: %s","index.php"));
echo"can't go";
}
}
?>


หัวข้อ: Re: Cannot modify header information [PHP ช่วยดูทีครับ]
เริ่มหัวข้อโดย: payu ที่ 02 สิงหาคม 2009, 15:12:58

เอา
อ้างถึง
echo"can't go";

ออกครับ


หัวข้อ: Re: Cannot modify header information [PHP ช่วยดูทีครับ]
เริ่มหัวข้อโดย: goodfeel ที่ 02 สิงหาคม 2009, 15:17:11
ตามนั้นครับ ห้าม echo / print ถ้าจะใช้ header() ครับ


หัวข้อ: Re: Cannot modify header information [PHP ช่วยดูทีครับ]
เริ่มหัวข้อโดย: Normaderm ที่ 02 สิงหาคม 2009, 15:19:46
อ้อ ขอบคุณมากครับ  ผมนั่งเทียนมาตั้งแต่เช้า ขนาดใข้ ออโต้ ล้อกอิน ขอ ดรีม ก็ยังเออเร้อ  :P


หัวข้อ: Re: Cannot modify header information [PHP ช่วยดูทีครับ]
เริ่มหัวข้อโดย: Normaderm ที่ 02 สิงหาคม 2009, 15:22:00
เอ่อ คือว่า ถามไรอีกนิดได้ไหมคับ ถ้าห้าม เอ้กโค่ กะ ปริ้น แล้วถ้า ผมจะ แสดงค่า

$_SESSION['MM_Email']


ออกมาโชว์ จะต้องทำยังไงอะครับ :P


หัวข้อ: Re: Cannot modify header information [PHP ช่วยดูทีครับ]
เริ่มหัวข้อโดย: chui761 ที่ 02 สิงหาคม 2009, 15:24:00
บางทีถ้าจะ redirect ผมใช้เป็นแบบนี้ครับ

โค๊ด:
<?

echo "<meta http-equiv='refresh' content='3;url=หน้าที่จะ redirect เช่น index.html'>";

?>

มันก็คือโค้ด html เอามาใส่ใน php ครับ เลข 3 คือจำนวนวินาที ที่จะให้หน่วงเวลาก่อนจะ redirect


หัวข้อ: Re: Cannot modify header information [PHP ช่วยดูทีครับ]
เริ่มหัวข้อโดย: Normaderm ที่ 02 สิงหาคม 2009, 15:27:51
บางทีถ้าจะ redirect ผมใช้เป็นแบบนี้ครับ

โค๊ด:
<?

echo "<meta http-equiv='refresh' content='3;url=หน้าที่จะ redirect เช่น index.html'>";

?>

มันก็คือโค้ด html เอามาใส่ใน php ครับ เลข 3 คือจำนวนวินาที ที่จะให้หน่วงเวลาก่อนจะ redirect

แปลว่า ถ้ารีไดเร็ก แบบนี้ จะสามารถใช้ พวก เอ้กโค่ ได้ใช่ไหมครับ  :'(


หัวข้อ: Re: Cannot modify header information [PHP ช่วยดูทีครับ]
เริ่มหัวข้อโดย: chui761 ที่ 02 สิงหาคม 2009, 15:30:14
บางทีถ้าจะ redirect ผมใช้เป็นแบบนี้ครับ

โค๊ด:
<?

echo "<meta http-equiv='refresh' content='3;url=หน้าที่จะ redirect เช่น index.html'>";

?>

มันก็คือโค้ด html เอามาใส่ใน php ครับ เลข 3 คือจำนวนวินาที ที่จะให้หน่วงเวลาก่อนจะ redirect

แปลว่า ถ้ารีไดเร็ก แบบนี้ จะสามารถใช้ พวก เอ้กโค่ ได้ใช่ไหมครับ  :'(

จังซี้ มันต้องลองดูครับ ผมเองก็งูๆ ปลาๆ ออกแนวลูกทุ่ง อันไหนลองแล้วใช้งานได้ไม่มีปัญหาก็ใช้ตามนั้นครับ หุๆๆ

อ้อ โค้ดที่ผมยกมา เวลาผมเจอ error แบบท่านผมก็แก้ด้วยโค้ดนี้แหละครับ


หัวข้อ: Re: Cannot modify header information [PHP ช่วยดูทีครับ]
เริ่มหัวข้อโดย: Normaderm ที่ 02 สิงหาคม 2009, 15:41:53
ขอบคุณจ้าดนัก เน้อ ไล่ลื่น ละ ตอนนี้

(พอดีเคยใช้ แต่ cms พอมาโค้ดเองตั้งแต่ เริ่ม ละ งืด เลย  :P)


หัวข้อ: Re: Cannot modify header information [PHP ช่วยดูทีครับ]
เริ่มหัวข้อโดย: goodfeel ที่ 02 สิงหาคม 2009, 15:42:34
ใช่ครับ ถ้าเอา html redirect เราก็หมดปัญหากับ header() (( เอาออกด้วยนะครับ  = =))
ปกติผมก็ใช้ html เอาครับ เว้นแต่ทำเว็บพวกเปลี่ยนนามสกุลไฟล์ หรือกำหนด speed ก็ค่อยใช้ header

สู้ๆ ครับ php ไม่ยาก  ;D มีอะไรมึนๆ ก็ pm หาได้นะครับ ยินดีช่วย


หัวข้อ: Re: Cannot modify header information [PHP ช่วยดูทีครับ]
เริ่มหัวข้อโดย: chui761 ที่ 02 สิงหาคม 2009, 15:45:00
ขอบคุณจ้าดนัก เน้อ ไล่ลื่น ละ ตอนนี้

(พอดีเคยใช้ แต่ cms พอมาโค้ดเองตั้งแต่ เริ่ม ละ งืด เลย  :P)

อ๊ะละ เกยกึ้ดจะยะ CMS เหมือนกัน แต่ตอนนี้ งานมันหุม กะเลยเอาไว้ก่อน เอิ้กๆๆ


หัวข้อ: Re: Cannot modify header information [PHP ช่วยดูทีครับ]
เริ่มหัวข้อโดย: togethers ที่ 02 สิงหาคม 2009, 16:50:21
ขอบคุณจ้าดนัก เน้อ ไล่ลื่น ละ ตอนนี้

(พอดีเคยใช้ แต่ cms พอมาโค้ดเองตั้งแต่ เริ่ม ละ งืด เลย  :P)

ฮ่าๆๆ ท่าจะคนบ้านเฮา  ;D ;D ;D


หัวข้อ: Re: Cannot modify header information [PHP ช่วยดูทีครับ]
เริ่มหัวข้อโดย: Normaderm ที่ 03 สิงหาคม 2009, 00:41:39
สวัสดี รอบดึกครับ ชาวไทยเสียว หลังจากผม คั่วอยู่กับโค้ด php มาตั้งแต่ เช้า
พอได้เทคนิคของคุณ chui761
อ้างถึง
<?

echo "<meta http-equiv='refresh' content='3;url=หน้าที่จะ redirect เช่น index.html'>";

?>
ทำให้การเขียนโค้ด ไหลลื่นมากมาย จนกระทั่งทำ ระบบ ลงทะเบียนไปได้ 98%  :'(
แต่พอ ไปรับแฟนกลับจากที่ทำงาน กลับมา เนื่องด้วยผมมีไฟล์ regis.php และ register.php
ซึ่งเจ้าไฟล์ register.php  เนี่ย มันไม่ได้ใช้ เลยกะจะลบข้อมูลข้างในทิ้ง ละเอามาลองโค้ดเล่นซะหน่อย
ผมก็เปิด ออกมาละ ละลบทิ้ง แล้วด้วยความเคยชิน ของมือซ้าย ก็กด อันเทอเนต s ไป  ;) เหลือบไปดู ปรากฏว่าเป็นไฟล์ regis.php ซะงั้น  :-X
เพราะฉะนั้น ที่นั่งงมวันนี้มาทั้งวัน หายแว้บไปละครับ  :'( บ่นให้เมียฟัง โดนด่าว่า สะเพร่า อีก .... (ผมเถียงมันว่าผมรอบคอบ เพราะคอย อันเทอเนต s บ่อยๆ) .... เมียหลับ เลยแอบมาบ่นหน่อยครับ  :) :) :) ระบาย อิอิ



ต่อด้วย ขอคำถามนึงนะครับ ผมจะทำการ ดึงค่าจากฐานข้อมูลมา ค่านึง (เพื่อจะนำไปใส่ อีกตาราง) โดยเขียนโค้ดไปดังนี้ครับ

โค๊ด:
$strEmail=$_POST['regisEmail'];
mysql_select_db($database_trkDB, $trkDB);
$query_Getref = sprintf("select member_ref from trk_member where member_Email = '$strEmail'");
$rcsGetref = mysql_query($query_Regis, $trkDB) or die(mysql_error());
[color=red]$resultRef =  mysql_fetch_assoc($rcsGetref);[/color]  บันทัดที่ 59

ละก็เหมือนเดิม ได้ เออเร้อ แถมมา ดังนี้ครับ
โค๊ด:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\therichking\regis.php on line 59

ใครพอจะหาทางสว่างให้ผมได้ มั่งครับ เริ่มท้อแล้ว กะจะวางมือ ไปเล่น rappelz ละนะเนี่ย ช่วง คูนสองซะด้วย เห้อ

 8)


หัวข้อ: Re: Cannot modify header information [PHP ช่วยดูทีครับ]
เริ่มหัวข้อโดย: chui761 ที่ 03 สิงหาคม 2009, 00:50:27
ลอง echo ค่าที่จะดึงมาก่อน ดูว่ามันดึงค่ามาได้จริง

ถ้า echo มาแล้วไม่มีค่า แสดงว่าโค้ดดึงค่าอันแรกยังไม่ถูก

แต่ถ้าแสดงค่าแรกแล้ว ค่อยมาไล่ดูว่า ตัวแปรที่รับค่าต่อมามันรับค่าได้หรือเปล่า

ปกติ ผมใช้วิธี echo แสดงค่าเป็นทอดๆ ถ้ามันโยงกันไปกันมาหลายอันน่ะครับ


หัวข้อ: Re: Cannot modify header information [PHP ช่วยดูทีครับ]
เริ่มหัวข้อโดย: Reality ที่ 03 สิงหาคม 2009, 00:58:26
ลองดูครับว่ามัน query ผ่านรึเปล่า

แล้วก็ลองตรวจสอบค่าที่จะส่งเข้าไปใน query ก่อนครับ ว่ามันมีจริงหรือไม่ (ตามที่คุณ chui761 บอกเลยครับ)


หัวข้อ: Re: Cannot modify header information [PHP ช่วยดูทีครับ]
เริ่มหัวข้อโดย: liveadsense ที่ 03 สิงหาคม 2009, 01:04:11
เพิ่มเติมนิสนึงครับ ถ้าต้องการจะใช้ header() + echo ได้ ให้ใส่ ob_start(); ใว้ ส่วนหัวครับ แต่โดยส่วนมากเค้าไม่ค่อยนิยมใช้กัน  ::)


หัวข้อ: Re: Cannot modify header information [PHP ช่วยดูทีครับ]
เริ่มหัวข้อโดย: Normaderm ที่ 03 สิงหาคม 2009, 01:06:15
$query_Getref = sprintf("select member_ref from trk_member where member_Email = '$strEmail'");


$query_Getref = sprintf("select member_ref from trk_member where member_Email = $strEmail");


อันไหนถูกหรอครับ ผมลองแล้ว มันขึ้นเออเร้อ เหมือนเดิม ทั้งสองอันเลย
ส่วน ค่าใน $query_Getref ลองเอ้กโค้ ออกมาก็ได้
select member_ref from trk_member where member_Email = [email protected]

ส่วนเออเรอ้ ก็เหมือนเดิมอะงับ
โค๊ด:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\therichking\regis.php on line 59


หัวข้อ: Re: Cannot modify header information [PHP ช่วยดูทีครับ]
เริ่มหัวข้อโดย: Reality ที่ 03 สิงหาคม 2009, 01:09:21
โค๊ด:
$query_Getref = sprintf("select member_ref from trk_member where member_Email = '$strEmail'");
$rcsGetref = mysql_query($query_Regis, $trkDB)

ไม่เห็นมันสัมพันธ์กันเลย :o

แล้วตัวแปร $query_Regis อยู่ไหนอ๊ะ

 ;D ;D


หัวข้อ: Re: Cannot modify header information [PHP ช่วยดูทีครับ]
เริ่มหัวข้อโดย: liveadsense ที่ 03 สิงหาคม 2009, 01:10:11
โค๊ด:
$query_Getref = sprintf("select member_ref from trk_member where member_Email = ". $strEmail ."");


ลองดูครับ


หัวข้อ: Re: Cannot modify header information [PHP ช่วยดูทีครับ]
เริ่มหัวข้อโดย: Normaderm ที่ 03 สิงหาคม 2009, 01:15:55
โค๊ด:
$query_Getref = sprintf("select member_ref from trk_member where member_Email = '$strEmail'");
$rcsGetref = mysql_query($query_Regis, $trkDB)

ไม่เห็นมันสัมพันธ์กันเลย :o

แล้วตัวแปร $query_Regis อยู่ไหนอ๊ะ

 ;D ;D


 ;D ;D ;D ;D  จริงด้วย นั่นมาจาก คิวลี่ข้างบน ลืมแก้  :P

เย้ๆ ได้แล้วอะ Luscentz  ไม่มานี่ ถึงเช้าเลยนะเนี่ย  ดีที่มาโพส ไม่งั้น ผ่านตา ไปแน่  :P


หัวข้อ: Re: Cannot modify header information [PHP ช่วยดูทีครับ]
เริ่มหัวข้อโดย: chui761 ที่ 03 สิงหาคม 2009, 01:16:22
โค๊ด:
$query_Getref = sprintf("select member_ref from trk_member where member_Email = '$strEmail'");
$rcsGetref = mysql_query($query_Regis, $trkDB)

ไม่เห็นมันสัมพันธ์กันเลย :o

แล้วตัวแปร $query_Regis อยู่ไหนอ๊ะ

 ;D ;D

เห็นด้วยกับอันนี้ครับ หรือมันควรจะเป็น
$rcsGetref = mysql_query($query_Getref, $trkDB)

ผมเองก็มึนๆ ละ ไม่รู้ถูกป่าว  :D :D