[ปัญหารอบ 3 ]ไม่มีอะไร Error แต่....ดูให้หน่อยครับ T T

เริ่มโดย lucationjj, 18 เมษายน 2011, 20:35:27

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

lucationjj

ยัง Error ครับ
นี้โค้ดเต็มๆ
<?
$id=$_GET[id];
$goto=$_GET[goto];

include "connect.php";
$sql="select count_click from tb_url where id='$id'";
$result=mysql_db_query($dbname,$sql);
$rs=mysql_fetch_array($result);
$count_click=$rs[count_click];

$count=$count_click+1;

$sql2="update tb_url set count_click='$count' where id='$id'";
$result2=mysql_db_query($dbname,$sql2);
header("Location:$goto");
?>
[direct=][/direct]
วันนี้มี ไม่มีบล็อก index แล้ว

NightClub

อ๋อ ระวังปัญหาเรื่อง BOM ด้วยนะครับ แก้แบบง่ายๆก็ไปที่ htaccess

php_value output_buffering 1

รับจ้างเขียนโปรแกรม PHP งานมืออาชีพ เสร็จตามที่กำหนด ราคาปานกลาง
เหมาะกับผู้ที่รับงานมาแล้วส่งต่อจ๊ะ PM มาเลย

lucationjj

อ้างถึงจาก: NightClub ใน 18 เมษายน 2011, 22:57:20
อ๋อ ระวังปัญหาเรื่อง BOM ด้วยนะครับ แก้แบบง่ายๆก็ไปที่ htaccess

php_value output_buffering 1



htaccess ไอไฟล์นี้ผมยังไม่ได้เขียนครับ ต้องเขียนก่อนหรอครับ
[direct=][/direct]
วันนี้มี ไม่มีบล็อก index แล้ว

NightClub

header("Location:$goto");

เว้นหน่อย

header("Location: $goto");

ถ้ามีปัญหา ลบออกหมดเหลือแค่

$goto=$_GET[goto];

header("Location: $goto");

่แล้วดูว่า error อีกมั้ย ถ้ามี กอปมาด้วยครับ จะได้ดูว่าติดอะไร
รับจ้างเขียนโปรแกรม PHP งานมืออาชีพ เสร็จตามที่กำหนด ราคาปานกลาง
เหมาะกับผู้ที่รับงานมาแล้วส่งต่อจ๊ะ PM มาเลย

tdelphi

เชื่อมต่อ db หรือยัง เพราะบางทีใน connect.php อาจจะมีแต่ตัวแปรเฉยๆ



อ้างถึง

$link = mysql_connect($dbhost,$dbuser,$dbpass); 
mysql_select_db($dbname,$link);


NightClub

อ้างถึงจาก: lucationjj ใน 18 เมษายน 2011, 22:58:25
อ้างถึงจาก: NightClub ใน 18 เมษายน 2011, 22:57:20
อ๋อ ระวังปัญหาเรื่อง BOM ด้วยนะครับ แก้แบบง่ายๆก็ไปที่ htaccess

php_value output_buffering 1



htaccess ไอไฟล์นี้ผมยังไม่ได้เขียนครับ ต้องเขียนก่อนหรอครับ

มันเป็นผลมาจาก ไฟล์เราเข้ารหัสไรไว้ข้างหน้า คนทำเวปบ่อย จะรู้ว่า อยู่ดีๆ ทำไม ส่ง header ไม่ไป ทั้งที่ไม่ได้มีการ แสดงผล (echo) อะไรออกมาก่อนหน้านี้ ซึ่ง แก้ได้คือ ลบไฟล์ทิ้ง แล้ว เขียนใหม่ แต่อยู่ดีๆมันก็จะเป้นอีก

ถ้าเซตในดรีมไว้ว่า no bom มันก็ช่วยได้ แต่ถ้ากลัวไม่ชัวร์ ก็ทำ htaccess ตั้งค่าแบบนี้ชัวร์สุด
(แต่บางโฮสท์จะฟ้องเออเร่อ ถ้ามีเออเร่อก็เอาออก เพราะระบบมันเซตไว้อยู่แล้ว)
รับจ้างเขียนโปรแกรม PHP งานมืออาชีพ เสร็จตามที่กำหนด ราคาปานกลาง
เหมาะกับผู้ที่รับงานมาแล้วส่งต่อจ๊ะ PM มาเลย

lucationjj

<?
$id=$_GET[id];
$goto=$_GET[goto];

include "connect.php";
$sql="select count_click from tb_url where id='$id'";
$result=mysql_db_query($dbname,$sql);
$rs=mysql_fetch_array($result);
$count_click=$rs[count_click];

$count=$count_click+1;

$sql2="update tb_url set count_click='$count' where id='$id'";
$result2=mysql_db_query($dbname,$sql2);
header("Location: $goto"); <<<< บรรทัดนี้มันบอกผิด ก็เขียนถูกแล้ว
?>
แก้ตามที่บอกแล้วครับ มันยังขึ้นแบบนี้
Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\myweb\link.php:1) in C:\AppServ\www\myweb\link.php on line 15

ผมเขียนบนเครื่องคอมครับ ยังไม่ได้อัพขึ้นโฮส
[direct=][/direct]
วันนี้มี ไม่มีบล็อก index แล้ว

ossytong

output started at C:\AppServ\www\myweb\link.php:1

มันเิกิดการส่ง output ไปก่อน header อะไรเนี้ยแล่ะ

เอา

ob_start(); ไปใส่ไว้หัวไฟล์ด้านบนสุดก็หายครับ

ให้เป็นเก็บบัฟเฟอร์ไว้ก่อน

<?
ob_start();



$id=$_GET[id];
$goto=$_GET[goto];

include "connect.php";
$sql="select count_click from tb_url where id='$id'";
$result=mysql_db_query($dbname,$sql);
$rs=mysql_fetch_array($result);
$count_click=$rs[count_click];

$count=$count_click+1;

$sql2="update tb_url set count_click='$count' where id='$id'";
$result2=mysql_db_query($dbname,$sql2);
header("Location: $goto"); <<<< บรรทัดนี้มันบอกผิด ก็เขียนถูกแล้ว
?>

NightClub

อ้างถึงจาก: lucationjj ใน 18 เมษายน 2011, 23:05:01
<?
$id=$_GET[id];
$goto=$_GET[goto];

include "connect.php";
$sql="select count_click from tb_url where id='$id'";
$result=mysql_db_query($dbname,$sql);
$rs=mysql_fetch_array($result);
$count_click=$rs[count_click];

$count=$count_click+1;

$sql2="update tb_url set count_click='$count' where id='$id'";
$result2=mysql_db_query($dbname,$sql2);
header("Location: $goto"); <<<< บรรทัดนี้มันบอกผิด ก็เขียนถูกแล้ว
?>
แก้ตามที่บอกแล้วครับ มันยังขึ้นแบบนี้
Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\myweb\link.php:1) in C:\AppServ\www\myweb\link.php on line 15

ลองรันตามสคริปข้างล่างนี้ อย่างอื่นลบทิ้งไปให้หมด

<?
$goto=$_GET[goto];

header("Location: $goto");
?>

ปล. ลงกดbackspace ตรงก่อนหน้า <? ด้วยครับอาจจะมีอะไรติดอยู่

ถ้าทำตามนี้คงสรุปอาการได้

แต่บอกไว้ก่อนว่า ถ้าติด BOM ใช้ ob_start(); แก้ไม่หายนะ
รับจ้างเขียนโปรแกรม PHP งานมืออาชีพ เสร็จตามที่กำหนด ราคาปานกลาง
เหมาะกับผู้ที่รับงานมาแล้วส่งต่อจ๊ะ PM มาเลย

ossytong

ถ้า

<?

ob_start();

ไม่หาย
ก็จัดการเซฟไฟล์เป็น ANSI ก่อน แล้วก็เซฟ เป็น UTF-8 อีกรอบ

หนุกหนาน

มันมีปัญหามาจาก query ก่อนหน้านี้ที่มี error ครับ
ลอง echo ผลลัพท์ของ qeury มาดูก็ได้

lucationjj

อ้างถึงจาก: NightClub ใน 18 เมษายน 2011, 23:09:14
อ้างถึงจาก: lucationjj ใน 18 เมษายน 2011, 23:05:01
<?
$id=$_GET[id];
$goto=$_GET[goto];

include "connect.php";
$sql="select count_click from tb_url where id='$id'";
$result=mysql_db_query($dbname,$sql);
$rs=mysql_fetch_array($result);
$count_click=$rs[count_click];

$count=$count_click+1;

$sql2="update tb_url set count_click='$count' where id='$id'";
$result2=mysql_db_query($dbname,$sql2);
header("Location: $goto"); <<<< บรรทัดนี้มันบอกผิด ก็เขียนถูกแล้ว
?>
แก้ตามที่บอกแล้วครับ มันยังขึ้นแบบนี้
Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\myweb\link.php:1) in C:\AppServ\www\myweb\link.php on line 15

ลองรันตามสคริปข้างล่างนี้ อย่างอื่นลบทิ้งไปให้หมด

<?
$goto=$_GET[goto];

header("Location: $goto");
?>

ปล. ลงกดbackspace ตรงก่อนหน้า <? ด้วยครับอาจจะมีอะไรติดอยู่

ถ้าทำตามนี้คงสรุปอาการได้

แต่บอกไว้ก่อนว่า ถ้าติด BOM ใช้ ob_start(); แก้ไม่หายนะ

รันตามสคริปนี้แล้วครับ
<?
$goto=$_GET[goto];

header("Location: $goto");
?>


Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\myweb\link.php:1) in C:\AppServ\www\myweb\link.php on line 4
[direct=][/direct]
วันนี้มี ไม่มีบล็อก index แล้ว

inDexTop10

[direct=http://goo.gl/h2PZom]Digitalocean.com[/direct] - ถูกและดีจริง ลด 10$ ลงไปเป็นบอก

lucationjj

อ้างถึงจาก: ossytong ใน 18 เมษายน 2011, 23:10:36
ถ้า

<?

ob_start();

ไม่หาย
ก็จัดการเซฟไฟล์เป็น ANSI ก่อน แล้วก็เซฟ เป็น UTF-8 อีกรอบ

ผมไป save ไฟล์แบบ UTF-8 เลยลองเปลี่ยนเป็น Ansi ดูมันหายเลยครับ
ขอบคุณทุกคนมากครับ  :wanwan017: :wanwan017: :wanwan017:

ทำ htaccess ตั้งค่าแบบนี้ชัวร์สุดนี้เขียนยังไงครับ อยากทราบเหมือนกัน
[direct=][/direct]
วันนี้มี ไม่มีบล็อก index แล้ว

NightClub

เซพไฟล์ชื่อ .htaccess

เขียนข้อมูลว่า

php_value output_buffering 1

แค่นี้ครับ



แต่อยู่ดีๆมันอาจจะเป็นขึ้นมาเฉยๆถ้าไม่ทำแบบนี้ แต่ก่อนผมแก้ไม่เป็นลบไป ลบมาหลายรอบ
รับจ้างเขียนโปรแกรม PHP งานมืออาชีพ เสร็จตามที่กำหนด ราคาปานกลาง
เหมาะกับผู้ที่รับงานมาแล้วส่งต่อจ๊ะ PM มาเลย

lucationjj

อ้างถึงจาก: NightClub ใน 18 เมษายน 2011, 23:42:36
เซพไฟล์ชื่อ .htaccess

เขียนข้อมูลว่า

php_value output_buffering 1

แค่นี้ครับ



แต่อยู่ดีๆมันอาจจะเป็นขึ้นมาเฉยๆถ้าไม่ทำแบบนี้ แต่ก่อนผมแก้ไม่เป็นลบไป ลบมาหลายรอบ
ขอบคุณครับ  :wanwan017:
[direct=][/direct]
วันนี้มี ไม่มีบล็อก index แล้ว

lucationjj

<?
$cate[]="การศึกษา";
$cate_detail[]="โรงเรียน, สถาบันการศึกษา, กวดวิชาและสอนพิเศษ";

$cate[]="กิจกรรมและ เหตุการณ์สำคัญ";
$cate_detail[]="ข่าวและเหตุการณ์สำคัญ, นิทรรศการและงานแสดงสินค้า";

$cate[]="ข่าว และสื่อ";
$cate_detail[]="หนังสือพิมพ์, วารสาร, นิตยสาร, สถานีวิทยุ";

$cate[]="คอมพิวเตอร์";
$cate_detail[]="เกมส์, ความรู้เกี่ยวกับคอมพิวเตอร์, การเขียนโปรแกรม";

$cate[]="ท่องเที่ยว";
$cate_detail[]="ข้อมูลและสถานที่ท่องเที่ยว, โรงแรมและรัสอร์ท";

$cate[]="ธุรกิจ";
$cate_detail[]="สมัครและจัดหางาน, สตูดิโอถ่ายภาพและแต่งงาน";

$cate[]="สังคม วัฒนธรรม";
$cate_detail[]="ครอบครัวและเด็ก, ประเพณีวัฒนธรรม, ศาสนา";

$cate[]="หน่วยงานราชการ";
$cate_detail[]="กระทรวง, สถาทูต";

$cate[]="อินเตอร์เน็ต";
$cate_detail[]="Web hosting, ผู้ให้บริการจัดทำเว็บไซต์";

$cate[]="การแพทย์และสุขภาพ";
$cate_detail[]="โรคและการดูแลสุขภาพ, โรงพยาบาล, สายตา";
?>


นี้คือโค้ดด้านบนครับ
ผมลองกรอกแบบฟอร์ม ตอนเลือก หมวดหมู่ ผมกดเลือก หมวดหมู่คอมพิวเตอร์ พอกด submit ไปดูหน้าแสดงผลของหมวดหมู่
มันไปโผ่ลที่หมวดหมู่ การศึกษา อย่างเดียวเลยครับ เลือกหมวดหมู่ไหนมันก็ไปโผล่ใน หมวดการศึกษา  :P
โค้ดมันผิดตรงไหน
include "category.php"; <<< category.php เพื่อกำหนดตัวแปร Array ของหมวดหมู่โค้ดดานบน ^
for ($i=0;$i<count($cate);$i++) {
   $sql="select id from tb_url where category='$i'";
   $result=mysql_db_query($dbname,$sql);
   $num=mysql_num_rows($result);
แล้ววนรอบด้วยคำสั่ง for เริ่มต้นจาก 0 ไปยังตำแหน่งสุดท้ายของตัวแปร์ array $cate โดยการวนแต่ละรอบ หรือแต่ละหมวดหมู่ต้องเข้าไปดึงข้อมูลตาราง tb_url เพื่อหาจำนวนเว็บไซต์ที่มีอยู่ในแต่ละหมวดหมู่

   
   echo "<LI>";
   echo "<B><a href='list.php?cate_id=$i'>$cate[$i]</a></b>[$num]<br>";
   echo "$cate_detail[$i] <br><br>";
   echo "</LI>";
   }
แล้วค่อยนำออกมาแสดงรายชื่อ รายละเอียดของหมวดหมู่ และจำนวนเว็บไซต์ที่มีอยู่แต่ละหมวดหมู่ พร้อมลิงก์ไปยังสคริปต์ list.php แล้วส่งตำแหน่งอาร์เรย์ของหมวดหมู่ไปกับตัวแปร์ cate_id เพื่อใช้อ้างอิงแสดงเว็บไซต์ของแต่ละหมวดหมู่ออกมา


เหนื่อย วันนี้ทั้งวันแต่ยังไม่ท้อ ช่วยดูหน่อยครับ สรุปปัญหาคือพอกด Submit เลือกหมวดหมู่ไหนมันก็ไปโผล่ หมวดการศึกษา  :P

[direct=][/direct]
วันนี้มี ไม่มีบล็อก index แล้ว

lucationjj

[direct=][/direct]
วันนี้มี ไม่มีบล็อก index แล้ว

bonaliza

ถ้าโค๊ดนี้ไม่ผิด ก็ลองเชคที่ไฟลื list.php อ่ะค่ะ
------0_0-----

auzone

mysql_db_query
This function has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged.

ลองเปลี่ยนเป็ฯ mysql_query ครับแล้วตอน connect ก็ select db ด้วย
ห้ามก๊อป (copy) แบบเว็บกันนะครับ เจอทีไรใจแทบสลาย....
ใส่ลิ้งค์ได้ยังหว่า : ใครเลี้ยง [direct=http://www.hamsteronline.com]หนูแฮมสเตอร์[/direct] [direct=http://www.thaipetonline.com]เม่นแคระ[/direct] [direct=http://www.bunnyonline.com]กระต่าย[/direct] หรือ [direct=http://www.cavyonline.com]หนูแกสบี้[/direct] บ้าง [direct=http://thailovepet.com]เม่นแคระ[/direct]
รับซื้อเว็บเกี่ยวกับ สัตว์เลี้ยง | ท่องเที่ยว