ThaiSEOBoard.com

พัฒนาเว็บไซต์ => Programming => หัวข้อเริ่มโดย: lucationjj ใน 18 เมษายน 2011, 20:35:27

ชื่อเรื่อง: [ปัญหารอบ 3 ]ไม่มีอะไร Error แต่....ดูให้หน่อยครับ T T
โพสต์โดย: lucationjj ใน 18 เมษายน 2011, 20:35:27
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\myweb\index.php on line 21

นี้โค้ดที่เขียน ผมว่า ผมเขียนถูกนะ  :wanwan006:

include "connect.php";
include "category.php";
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); <<<< มันผิดบรรทัดนี้ ผมยกมาแค่นี้ครับมันผิด บรรทัดที่ 21

ก็เขียนถูกแล้ว ช่วยดูหน่อยครับ เผื่อผมจะหลง ขอบคุณครับ  :wanwan017:
ชื่อเรื่อง: Re: เขียน PHP อยู่ช่วยดูหน่อยมันผิดตรงไหน
โพสต์โดย: bouy22 ใน 18 เมษายน 2011, 20:39:45
สเตปแรก

ลองดูที่ตัวแปร $num, $result มันมีการเรียกใช้ซ้ำกันหรือป่าว
ชื่อเรื่อง: Re: เขียน PHP อยู่ช่วยดูหน่อยมันผิดตรงไหน
โพสต์โดย: lucationjj ใน 18 เมษายน 2011, 20:43:01
อ้างถึงจาก: bouy22 ใน 18 เมษายน 2011, 20:39:45
สเตปแรก

ลองดูที่ตัวแปร $num, $result มันมีการเรียกใช้ซ้ำกันหรือป่าว

ไม่ซ่ำครับ
ชื่อเรื่อง: Re: เขียน PHP อยู่ช่วยดูหน่อยมันผิดตรงไหน
โพสต์โดย: ganginwpop ใน 18 เมษายน 2011, 20:43:34
$num=mysql_num_rows($result) or die(mysql_error());
มันจะได้รายละเอียดเยอะขึ้นครับ
:wanwan017:
ชื่อเรื่อง: Re: เขียน PHP อยู่ช่วยดูหน่อยมันผิดตรงไหน
โพสต์โดย: bouy22 ใน 18 เมษายน 2011, 20:46:18
อ้างถึงจาก: ganginwpop ใน 18 เมษายน 2011, 20:43:34
$num=mysql_num_rows($result) or die(mysql_error());
มันจะได้รายละเอียดเยอะขึ้นครับ
:wanwan017:

อ่าตามนั้นครับ หรือ

$num=mysql_num_rows($result);
echo mysql_error();


ต่อไปแล้วลองดูว่าผิดตรงไหน
ชื่อเรื่อง: Re: เขียน PHP อยู่ช่วยดูหน่อยมันผิดตรงไหน
โพสต์โดย: hero-nana ใน 18 เมษายน 2011, 20:48:42
อ้างถึงจาก: lucationjj ใน 18 เมษายน 2011, 20:35:27
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\myweb\index.php on line 21

นี้โค้ดที่เขียน ผมว่า ผมเขียนถูกนะ  :wanwan006:

include "connect.php";
include "category.php";
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); <<<< มันผิดบรรทัดนี้ ผมยกมาแค่นี้ครับมันผิด บรรทัดที่ 21

ก็เขียนถูกแล้ว ช่วยดูหน่อยครับ เผื่อผมจะหลง ขอบคุณครับ  :wanwan017:

แน่ใจว่าใช้ function นี้ถูกนะครับ mysql_db_query($dbname,$sql) ดูเหมือนกันค่าที่ออกมาจะไม่ใช่ข้อมูลที่จะส่งเข้า mysql_num_rows ได้นะ
ชื่อเรื่อง: Re: เขียน PHP อยู่ช่วยดูหน่อยมันผิดตรงไหน
โพสต์โดย: lucationjj ใน 18 เมษายน 2011, 20:51:00
อ้างถึงจาก: hero-nana ใน 18 เมษายน 2011, 20:48:42
อ้างถึงจาก: lucationjj ใน 18 เมษายน 2011, 20:35:27
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\myweb\index.php on line 21

นี้โค้ดที่เขียน ผมว่า ผมเขียนถูกนะ  :wanwan006:

include "connect.php";
include "category.php";
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); <<<< มันผิดบรรทัดนี้ ผมยกมาแค่นี้ครับมันผิด บรรทัดที่ 21

ก็เขียนถูกแล้ว ช่วยดูหน่อยครับ เผื่อผมจะหลง ขอบคุณครับ  :wanwan017:

แน่ใจว่าใช้ function นี้ถูกนะครับ mysql_db_query($dbname,$sql) ดูเหมือนกันค่าที่ออกมาจะไม่ใช่ข้อมูลที่จะส่งเข้า mysql_num_rows ได้นะ

ใช้ครับผมให้มันดึงข้อมูลมาจาก connect.php
dbname='db_submit'
ชื่อเรื่อง: Re: เขียน PHP อยู่ช่วยดูหน่อยมันผิดตรงไหน
โพสต์โดย: lucationjj ใน 18 เมษายน 2011, 20:52:03
อ้างถึงจาก: bouy22 ใน 18 เมษายน 2011, 20:46:18
อ้างถึงจาก: ganginwpop ใน 18 เมษายน 2011, 20:43:34
$num=mysql_num_rows($result) or die(mysql_error());
มันจะได้รายละเอียดเยอะขึ้นครับ
:wanwan017:

อ่าตามนั้นครับ หรือ

$num=mysql_num_rows($result);
echo mysql_error();


ต่อไปแล้วลองดูว่าผิดตรงไหน
อ้างถึงจาก: ganginwpop ใน 18 เมษายน 2011, 20:43:34
$num=mysql_num_rows($result) or die(mysql_error());
มันจะได้รายละเอียดเยอะขึ้นครับ
:wanwan017:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\myweb\index.php on line 21
Access denied for user ''@'localhost' to database 'db_submit'
ก็ถูกแล้วนี้ครับ Database db_submit งง
ชื่อเรื่อง: Re: เขียน PHP อยู่ช่วยดูหน่อยมันผิดตรงไหน
โพสต์โดย: pollok ใน 18 เมษายน 2011, 20:53:14
ลองดู $result=mysql_db_query($dbname,$sql);

ว่ามันได้ค่าอะไรออกมา
ชื่อเรื่อง: Re: เขียน PHP อยู่ช่วยดูหน่อยมันผิดตรงไหน
โพสต์โดย: bouy22 ใน 18 เมษายน 2011, 20:53:48
อ้างถึงจาก: lucationjj ใน 18 เมษายน 2011, 20:52:03
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\myweb\index.php on line 21
Access denied for user ''@'localhost' to database 'db_submit'
ก็ถูกแล้วนี้ครับ Database db_submit งง

ลืมเปลี่ยน รหัส หรือ user-pass อะไรผิดหรือป่าวครับ หรือ ชื่อ db ผิดหรือป่าว
ชื่อเรื่อง: Re: เขียน PHP อยู่ช่วยดูหน่อยมันผิดตรงไหน
โพสต์โดย: hero-nana ใน 18 เมษายน 2011, 20:54:45
งงอะคับ ต้องเรียกหลายdatabaseเลยหรอ ปกติทำกันเค้าใช้databaseเดียว เปลี่ยนแค่ database table  นะครับ
ชื่อเรื่อง: Re: เขียน PHP อยู่ช่วยดูหน่อยมันผิดตรงไหน
โพสต์โดย: DeLitTo ใน 18 เมษายน 2011, 20:55:41
include "connect.php";
include "category.php";
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);


ดูย้อนขึ้นไป จากตัวแปรที่ตั้งไว้ครับ ว่าข้อมูลมันผิดตรงไหน

เมื่อมันผิดจากไลน์ 21 ก็แสงดว่า $num , $result มันเรียกไม่ถูก
ก็ต้องไปดูว่าตัวแปรของ 2 ตัวนี้คืออะไร แล้ววิเคราะห์ไปเรื่อยๆครับ

รอเรปล่างตอบ    :wanwan004: :wanwan004:
ชื่อเรื่อง: Re: เขียน PHP อยู่ช่วยดูหน่อยมันผิดตรงไหน
โพสต์โดย: Googledigg ใน 18 เมษายน 2011, 20:56:14
ผมว่า sql ไปตั้งค่าอะไร รึป่าว แบบวาตั้งค่าห้าม include ข้ามไฟล์ หรือข้อมูล ดาต้าเบส ไม่มี
ชื่อเรื่อง: Re: เขียน PHP อยู่ช่วยดูหน่อยมันผิดตรงไหน
โพสต์โดย: lucationjj ใน 18 เมษายน 2011, 20:56:30
อ้างถึงจาก: bouy22 ใน 18 เมษายน 2011, 20:53:48
อ้างถึงจาก: lucationjj ใน 18 เมษายน 2011, 20:52:03
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\myweb\index.php on line 21
Access denied for user ''@'localhost' to database 'db_submit'
ก็ถูกแล้วนี้ครับ Database db_submit งง

ลืมเปลี่ยน รหัส หรือ user-pass อะไรผิดหรือป่าวครับ หรือ ชื่อ db ผิดหรือป่าว
ได้แล้วครับ ขอบคุณครับ

มันผิดที่ connect.php ผมลืมใส่ User='' pw='' ขอบคุณทุกคนครับ + 1
ชื่อเรื่อง: Re: เขียน PHP อยู่ช่วยดูหน่อยมันผิดตรงไหน
โพสต์โดย: mSkyline ใน 18 เมษายน 2011, 20:57:37
เกี่ยวกับ user/pass ครับ
ชื่อเรื่อง: Re: เขียน PHP อยู่ช่วยดูหน่อยมันผิดตรงไหน
โพสต์โดย: thaicyber ใน 18 เมษายน 2011, 21:01:03
อ้างถึงจาก: lucationjj ใน 18 เมษายน 2011, 20:35:27
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\myweb\index.php on line 21

นี้โค้ดที่เขียน ผมว่า ผมเขียนถูกนะ  :wanwan006:

include "connect.php";
include "category.php";
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); <<<< มันผิดบรรทัดนี้ ผมยกมาแค่นี้ครับมันผิด บรรทัดที่ 21

ก็เขียนถูกแล้ว ช่วยดูหน่อยครับ เผื่อผมจะหลง ขอบคุณครับ  :wanwan017:


ปัญหานี้ผมเคยเจอครับลองเปลี่ยนเป็น

$sql="select id from tb_url where category='$i' ";
$result=mysql_query($sql);
$num=mysql_num_rows($result);

ดูครับ
ชื่อเรื่อง: Re: [ปัญหารอบ 2 มาอีกแล้ว ]เขียน PHP อยู่ช่วยดูหน่อยมันผิดตรงไหน
โพสต์โดย: lucationjj ใน 18 เมษายน 2011, 22:49:59
ปัญหารอบ 2 มาอีกแล้วครับ :wanwan031:
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

มันบอกผิดบรรทัดนี้
header("Location $goto");

งมอีกแล้ว เขียนถูกแล้วนิ
ชื่อเรื่อง: Re: [ปัญหารอบ 2 มาอีกแล้ว ]เขียน PHP อยู่ช่วยดูหน่อยมันผิดตรงไหน
โพสต์โดย: Railway ใน 18 เมษายน 2011, 22:53:06
header ห้ามเขียนหลังจากมีการแสดงผล คือห้ามไว้บรรทัดล่าง echo หรือ คุณเว้นบรรทัด ก็มีผลครับ

ลองก๊อบโค้ดก่อนบรรทัดนี้มาดูก็ดีครับ
ชื่อเรื่อง: Re: [ปัญหารอบ 2 มาอีกแล้ว ]เขียน PHP อยู่ช่วยดูหน่อยมันผิดตรงไหน
โพสต์โดย: ossytong ใน 18 เมษายน 2011, 22:53:50
เอา

<?
ob_start();

ไปไว้บนสุด
ชื่อเรื่อง: Re: [ปัญหารอบ 2 มาอีกแล้ว ]เขียน PHP อยู่ช่วยดูหน่อยมันผิดตรงไหน
โพสต์โดย: NightClub ใน 18 เมษายน 2011, 22:54:10
อ้างถึงจาก: lucationjj ใน 18 เมษายน 2011, 22:49:59
ปัญหารอบ 2 มาอีกแล้วครับ :wanwan031:
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

มันบอกผิดบรรทัดนี้
header("Location $goto");

งมอีกแล้ว เขียนถูกแล้วนิ
ที่ใช้อยู่ header("Location
ที่ถูก header("Location:

":" หาย
ชื่อเรื่อง: Re: [ปัญหารอบ 2 มาอีกแล้ว ]เขียน PHP อยู่ช่วยดูหน่อยมันผิดตรงไหน
โพสต์โดย: lucationjj ใน 18 เมษายน 2011, 22:56:27
ยัง 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");
?>
ชื่อเรื่อง: Re: [ปัญหารอบ 2 มาอีกแล้ว ]เขียน PHP อยู่ช่วยดูหน่อยมันผิดตรงไหน
โพสต์โดย: NightClub ใน 18 เมษายน 2011, 22:57:20
อ๋อ ระวังปัญหาเรื่อง BOM ด้วยนะครับ แก้แบบง่ายๆก็ไปที่ htaccess

php_value output_buffering 1

ชื่อเรื่อง: Re: [ปัญหารอบ 2 มาอีกแล้ว ]เขียน PHP อยู่ช่วยดูหน่อยมันผิดตรงไหน
โพสต์โดย: lucationjj ใน 18 เมษายน 2011, 22:58:25
อ้างถึงจาก: NightClub ใน 18 เมษายน 2011, 22:57:20
อ๋อ ระวังปัญหาเรื่อง BOM ด้วยนะครับ แก้แบบง่ายๆก็ไปที่ htaccess

php_value output_buffering 1



htaccess ไอไฟล์นี้ผมยังไม่ได้เขียนครับ ต้องเขียนก่อนหรอครับ
ชื่อเรื่อง: Re: [ปัญหารอบ 2 มาอีกแล้ว ]เขียน PHP อยู่ช่วยดูหน่อยมันผิดตรงไหน
โพสต์โดย: NightClub ใน 18 เมษายน 2011, 22:59:16
header("Location:$goto");

เว้นหน่อย

header("Location: $goto");

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

$goto=$_GET[goto];

header("Location: $goto");

่แล้วดูว่า error อีกมั้ย ถ้ามี กอปมาด้วยครับ จะได้ดูว่าติดอะไร
ชื่อเรื่อง: Re: [ปัญหารอบ 2 มาอีกแล้ว ]เขียน PHP อยู่ช่วยดูหน่อยมันผิดตรงไหน
โพสต์โดย: tdelphi ใน 18 เมษายน 2011, 23:01:23
เชื่อมต่อ db หรือยัง เพราะบางทีใน connect.php อาจจะมีแต่ตัวแปรเฉยๆ



อ้างถึง

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

ชื่อเรื่อง: Re: [ปัญหารอบ 2 มาอีกแล้ว ]เขียน PHP อยู่ช่วยดูหน่อยมันผิดตรงไหน
โพสต์โดย: NightClub ใน 18 เมษายน 2011, 23:02:42
อ้างถึงจาก: 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 ตั้งค่าแบบนี้ชัวร์สุด
(แต่บางโฮสท์จะฟ้องเออเร่อ ถ้ามีเออเร่อก็เอาออก เพราะระบบมันเซตไว้อยู่แล้ว)
ชื่อเรื่อง: Re: [ปัญหารอบ 2 มาอีกแล้ว ]เขียน PHP อยู่ช่วยดูหน&#
โพสต์โดย: 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

ผมเขียนบนเครื่องคอมครับ ยังไม่ได้อัพขึ้นโฮส
ชื่อเรื่อง: Re: [ปัญหารอบ 2 มาอีกแล้ว ]เขียน PHP อยู่ช่วยดูหน่อยมันผิดตรงไหน
โพสต์โดย: ossytong ใน 18 เมษายน 2011, 23:07:47
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"); <<<< บรรทัดนี้มันบอกผิด ก็เขียนถูกแล้ว
?>
ชื่อเรื่อง: Re: [ปัญหารอบ 2 มาอีกแล้ว ]เขียน PHP อยู่ช่วยดูหน่อยมันผิดตรงไหน
โพสต์โดย: 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(); แก้ไม่หายนะ
ชื่อเรื่อง: Re: [ปัญหารอบ 2 มาอีกแล้ว ]เขียน PHP อยู่ช่วยดูหน่อยมันผิดตรงไหน
โพสต์โดย: ossytong ใน 18 เมษายน 2011, 23:10:36
ถ้า

<?

ob_start();

ไม่หาย
ก็จัดการเซฟไฟล์เป็น ANSI ก่อน แล้วก็เซฟ เป็น UTF-8 อีกรอบ
ชื่อเรื่อง: Re: [ปัญหารอบ 2 มาอีกแล้ว ]เขียน PHP อยู่ช่วยดูหน่อยมันผิดตรงไหน
โพสต์โดย: หนุกหนาน ใน 18 เมษายน 2011, 23:10:54
มันมีปัญหามาจาก query ก่อนหน้านี้ที่มี error ครับ
ลอง echo ผลลัพท์ของ qeury มาดูก็ได้
ชื่อเรื่อง: Re: [ปัญหารอบ 2 มาอีกแล้ว ]เขียน PHP อยู่ช่วยดูหน่อยมันผิดตรงไหน
โพสต์โดย: lucationjj ใน 18 เมษายน 2011, 23:11:21
อ้างถึงจาก: 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
ชื่อเรื่อง: Re: [ปัญหารอบ 2 มาอีกแล้ว ]เขียน PHP อยู่ช่วยดูหน่อยมันผิดตรงไหน
โพสต์โดย: inDexTop10 ใน 18 เมษายน 2011, 23:11:28
^
ใช่ ก็ว่างั้นละ

:)
ชื่อเรื่อง: Re: [ปัญหารอบ 2 มาอีกแล้ว ]เขียน PHP อยู่ช่วยดูหน&#
โพสต์โดย: lucationjj ใน 18 เมษายน 2011, 23:14:18
อ้างถึงจาก: ossytong ใน 18 เมษายน 2011, 23:10:36
ถ้า

<?

ob_start();

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

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

ทำ htaccess ตั้งค่าแบบนี้ชัวร์สุดนี้เขียนยังไงครับ อยากทราบเหมือนกัน
ชื่อเรื่อง: Re: [ปัญหารอบ 2 มาอีกแล้ว ]เขียน PHP อยู่ช่วยดูหน่อยมันผิดตรงไหน
โพสต์โดย: NightClub ใน 18 เมษายน 2011, 23:42:36
เซพไฟล์ชื่อ .htaccess

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

php_value output_buffering 1

แค่นี้ครับ



แต่อยู่ดีๆมันอาจจะเป็นขึ้นมาเฉยๆถ้าไม่ทำแบบนี้ แต่ก่อนผมแก้ไม่เป็นลบไป ลบมาหลายรอบ
ชื่อเรื่อง: Re: [ปัญหารอบ 2 มาอีกแล้ว ]เขียน PHP อยู่ช่วยดูหน่อยมันผิดตรงไหน
โพสต์โดย: lucationjj ใน 18 เมษายน 2011, 23:50:25
อ้างถึงจาก: NightClub ใน 18 เมษายน 2011, 23:42:36
เซพไฟล์ชื่อ .htaccess

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

php_value output_buffering 1

แค่นี้ครับ



แต่อยู่ดีๆมันอาจจะเป็นขึ้นมาเฉยๆถ้าไม่ทำแบบนี้ แต่ก่อนผมแก้ไม่เป็นลบไป ลบมาหลายรอบ
ขอบคุณครับ  :wanwan017:
ชื่อเรื่อง: Re: [ปัญหารอบ 3 ]ไม่มีอะไร Error แต่....ดูให้หน่อยครับ T T
โพสต์โดย: lucationjj ใน 19 เมษายน 2011, 00:11:50
<?
$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

ชื่อเรื่อง: Re: [ปัญหารอบ 3 ]ไม่มีอะไร Error แต่....ดูให้หน่อยครับ T T
โพสต์โดย: lucationjj ใน 19 เมษายน 2011, 00:47:04
ยังหาเหตุผลไม่ได้มันผิดตรงไหน  :P
ชื่อเรื่อง: Re: [ปัญหารอบ 3 ]ไม่มีอะไร Error แต่....ดูให้หน่อยครับ T T
โพสต์โดย: bonaliza ใน 19 เมษายน 2011, 02:32:30
ถ้าโค๊ดนี้ไม่ผิด ก็ลองเชคที่ไฟลื list.php อ่ะค่ะ
ชื่อเรื่อง: Re: [ปัญหารอบ 3 ]ไม่มีอะไร Error แต่....ดูให้หน่อยครับ T T
โพสต์โดย: auzone ใน 19 เมษายน 2011, 09:14:22
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 ด้วย
ชื่อเรื่อง: Re: [ปัญหารอบ 3 ]ไม่มีอะไร Error แต่....ดูให้หน่อยครับ T T
โพสต์โดย: auzone ใน 19 เมษายน 2011, 09:19:31
พอดีพึ่งอ่านหน้า 2 นะครับเลยเห็นว่าทำได้แล้ว 55+ แต่อย่างที่โพสไปตอนแรกครับ function นี้จะใช้งานไม่ได้แล้วใน version 5.3

ส่วน error อีกอันที่เกิด เกิดจากมีการ print ข้อความออกมาก่อนครับ ให้ดูว่าก่อนเปิด php มีวรรคหรือป่าวครับ หากมีลบออกครับ
แล้ว ก่อนใช้ function header มีการ echo ค่าอะไรออกมาก่อนหรือป่าวครับ

หากไม่มีให้ลองไล่ไปยังไฟล์ที่เรา include มาอีกทีครับ include "connect.php"; ว่าก่อนเปิด php และ หลังปิด php มีการ enter หรือป่าวครับ
หากมีก็ลบออกครับ
ชื่อเรื่อง: Re: [ปัญหารอบ 2 มาอีกแล้ว ]เขียน PHP อยู่ช่วยดูหน&#
โพสต์โดย: asunza ใน 19 เมษายน 2011, 09:22:56
อ้างถึงจาก: 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

ผมเขียนบนเครื่องคอมครับ ยังไม่ได้อัพขึ้นโฮส

error เพราะ fonction headers ครับ บาง host จะมีปัญหากับคำสังนี้

echo"<meta http-equiv='refresh' content='0;URL=$goto'>";

ลองใช้แบบนี้ดูครับ
<?
$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"); [color=red]<<<< บรรทัดนี้มันบอกผิด ก็เขียนถูกแล้ว[/color]
echo"<meta http-equiv='refresh' content='0;URL=$goto'>";
?>


ชื่อเรื่อง: Re: [ปัญหารอบ 3 ]ไม่มีอะไร Error แต่....ดูให้หน่อยครับ T T
โพสต์โดย: lucationjj ใน 19 เมษายน 2011, 12:10:16
อ้างถึงจาก: bonaliza ใน 19 เมษายน 2011, 02:32:30
ถ้าโค๊ดนี้ไม่ผิด ก็ลองเชคที่ไฟลื list.php อ่ะค่ะ
โค้ด list.php

<?=$cate[$cate_id]?></b>
</br>
<ul>
<?
$sql="select * from tb_url where category='$cate_id' order by count_click desc";
$result=mysql_db_query($dbname,$sql);
while($rs=mysql_fetch_array($result)) {
   $id=$rs[id];
   $post_by=$rs[post_by];
   $url=$rs[url];
   $category=$rs[category];
   $title=$rs[title];
   $detail=$rs[detail];
   $count_click=$rs[count_click];
   
   echo "<LI>";
   echo "<b><a href='link.php?id=$id&goto=$url' target='_blank'>$title</a></b>";
   echo "Hits [$count_click]<br>";
   echo "<font size=2><b>จาก : </b> $post_by <b>URL: </b> $url </font><br>";
   echo "$detail <br><br>";
   echo "</LI>";
}
?>

ยังเหมือนเดิมครับ แก้ไม่หาย พอกด Submit เลือกหมวดหมู่อื่นมันก็ไปโผล่ หมวดหมู่การศึกษาอย่างเดียว  :wanwan031:
ชื่อเรื่อง: Re: [ปัญหารอบ 3 ]ไม่มีอะไร Error แต่....ดูให้หน่อยครับ T T
โพสต์โดย: lucationjj ใน 19 เมษายน 2011, 12:28:33
ตารางฐานข้อมูล db_url 7 ฟิลด์

Create table 'tb_url'{
'id' INT(11) NOT NULL AUTO_INCREMENT,
'post_by' VARCHAR(50) NOT NULL,
'url' VARCHAR(200) NOT NULL,
'category' INT(2) NOT NULL, <<<<< มันเก็บลำดับหมวดหมู่
'title' VARCHAR(100) NOT NULL,
'detail' TEXT NOT NULL,
'count_click' INT(5) NOT NULL,
Primary key ('id')
};

ชื่อเรื่อง: Re: [ปัญหารอบ 3 ]ไม่มีอะไร Error แต่....ดูให้หน่อยครับ T T
โพสต์โดย: mSkyline ใน 19 เมษายน 2011, 12:36:21
ผมงงว่าทำไรกันครับ

แล้วก็จับจุดปัญหาไม่ถูกเลย

เอาเป็นว่า ลองต่อท้ายคำสั่งนี้น่ะ
มันผิดตรงไหน เด๋วบอกเองครับ

mysql_db_query($dbname,$sql) or die (mysql_error());
ชื่อเรื่อง: Re: [ปัญหารอบ 3 ]ไม่มีอะไร Error แต่....ดูให้หน่อยครั
โพสต์โดย: lucationjj ใน 19 เมษายน 2011, 12:42:20
อ้างถึงจาก: mSkyline ใน 19 เมษายน 2011, 12:36:21
ผมงงว่าทำไรกันครับ

แล้วก็จับจุดปัญหาไม่ถูกเลย

เอาเป็นว่า ลองต่อท้ายคำสั่งนี้น่ะ
มันผิดตรงไหน เด๋วบอกเองครับ

mysql_db_query($dbname,$sql) or die (mysql_error());
ปัญหาที่ 3 มันไม่อะไร Error ครับเดียวผมรวมให้ดูนะครับ

อ้างถึงจาก: lucationjj ใน 19 เมษายน 2011, 00:11:50
<?
$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

โค้ด list.php
<?
$cate_id=$_GET[cate_id];
include "connect.php";
include "category.php";
?>

<?=$cate[$cate_id]?></b>
</br>
<ul>
<?
$sql="select * from tb_url where category='$cate_id' order by count_click desc";
$result=mysql_db_query($dbname,$sql);
while($rs=mysql_fetch_array($result)) {
   $id=$rs[id];
   $post_by=$rs[post_by];
   $url=$rs[url];
   $category=$rs[category];
   $title=$rs[title];
   $detail=$rs[detail];
   $count_click=$rs[count_click];
   
   echo "<LI>";
   echo "<b><a href='link.php?id=$id&goto=$url' target='_blank'>$title</a></b>";
   echo "Hits [$count_click]<br>";
   echo "<font size=2><b>จาก : </b> $post_by <b>URL: </b> $url </font><br>";
   echo "$detail <br><br>";
   echo "</LI>";
}
?>
ตารางฐานข้อมูล db_url 7 ฟิลด์

Create table 'tb_url'{
'id' INT(11) NOT NULL AUTO_INCREMENT,
'post_by' VARCHAR(50) NOT NULL,
'url' VARCHAR(200) NOT NULL,
'category' INT(2) NOT NULL, <<<<< มันเก็บลำดับหมวดหมู่
'title' VARCHAR(100) NOT NULL,
'detail' TEXT NOT NULL,
'count_click' INT(5) NOT NULL,
Primary key ('id')
};


คือว่า ผมกรอกแบบฟอร์มแล้วกดเลือกหมวดหมู่คอมพิวเตอร์ แต่พอกด Submit แบบฟอร์ม แล้วไปดูหน้าแสดงผลมันไปอยู่หมวดหมู่การศึกษาครับ เลือกหมวดหมู่ไหนมันก็ไป อยู่หมวดหมู่การศึกษาหมดครับ :wanwan031:
ชื่อเรื่อง: Re: [ปัญหารอบ 3 ]ไม่มีอะไร Error แต่....ดูให้หน่อยครับ T T
โพสต์โดย: mSkyline ใน 19 เมษายน 2011, 13:04:05
จะเอา id ของ catgory ใช่ปะครับ


แต่ไอนี่มันนับจำนวนมานี่ครับ ไม่ใช่ค่าที่เรียกมาดู ซึ่งมันก็มีค่า แค่ 0 กับ 1
$sql="select id from tb_url where category='$i'";
  $result=mysql_db_query($dbname,$sql);
  $num=mysql_num_rows($result);


หรือผมเข้าใจอะไรผิดหรือเปล่าครับ
ชื่อเรื่อง: Re: [ปัญหารอบ 3 ]ไม่มีอะไร Error แต่....ดูให้หน่อยครับ T T
โพสต์โดย: lucationjj ใน 19 เมษายน 2011, 13:06:18
อ้างถึงจาก: mSkyline ใน 19 เมษายน 2011, 13:04:05
จะเอา id ของ catgory ใช่ปะครับ


แต่ไอนี่มันดึงจำนวนมานี่ครับ
$sql="select id from tb_url where category='$i'";
   $result=mysql_db_query($dbname,$sql);
   $num=mysql_num_rows($result);


หรือผมเข้าใจอะไรผิดหรือเปล่าครับ
ถ้าจะให้ถูกต้องใช้ mysql_data_result อะไรพวกนั้นไม่ใช่เหรอครับ
ใช่ครับ
เดียวขอลองที่ท่านให้มาดู
ชื่อเรื่อง: Re: [ปัญหารอบ 3 ]ไม่มีอะไร Error แต่....ดูให้หน่อยครับ T T
โพสต์โดย: lucationjj ใน 19 เมษายน 2011, 13:11:24
ไม่ได้ครับ  :wanwan031:
ชื่อเรื่อง: Re: [ปัญหารอบ 3 ]ไม่มีอะไร Error แต่....ดูให้หน่อยครับ T T
โพสต์โดย: mSkyline ใน 19 เมษายน 2011, 13:13:30
ลองอะไรหว่า

ลองเปลี่ยนฟังชั่นเป็น mysq_result ซิครับ

อ้างถึง$sql="select id from tb_url where category='$i'";
   $result=mysql_db_query($dbname,$sql);
   $num=mysql_result($result);
ชื่อเรื่อง: Re: [ปัญหารอบ 3 ]ไม่มีอะไร Error แต่....ดูให้หน่อยครับ T T
โพสต์โดย: amazegu ใน 19 เมษายน 2011, 13:15:15
ทำอะไรผิดตรงไหนหรือเปล่าคับ หน้าที่มีปัญหา น่าจะเป็นหน้า index.php ของคุณเองมากกว่า หน้า list.php อย่าเพิ่งไปดูมัน

โค้ดหน้า index.php น่าจะประมาณนี้

<HTML>
<HEAD><TITLE>Web Directory</TITLE></HEAD>
<BODY>
<H1>:: Web Directory ::</H1>
<P>
[ <A HREF="index.php">หน้าแรก</A> ]
[ <A HREF="add_url.php">เพิ่มเว็บไซต์ (URL)</A> ]
[ <A HREF="search_url.php">ค้นหาเว็บไซต์</A> ]
[ <A HREF="top10.php">Top 10 URL</A> ]
<BR>
<P><B> หมวดหมู่ >> </B></P>
<UL>
<?
include "connect.php";
include "category.php";
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);

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>";
}
?>
</UL>
</BODY>
</HTML>


แบบว่าเคยเอาสคริปตัวนี้มาศึกษา จำได้ว่าแรกๆที่เริ่มจับ php+myslq เลย สคริปและฐานข้อมูลก็ยังอยู่ในเครื่อง เลยเอามารันดู มันก็ปกติดี
ชื่อเรื่อง: Re: [ปัญหารอบ 3 ]ไม่มีอะไร Error แต่....ดูให้หน่อยครับ T T
โพสต์โดย: amazegu ใน 19 เมษายน 2011, 13:18:49
หรือไม่ก็หน้า add ข้อมูลแหละที่ผิด
ชื่อเรื่อง: Re: [ปัญหารอบ 3 ]ไม่มีอะไร Error แต่....ดูให้หน่อยครับ T T
โพสต์โดย: lucationjj ใน 19 เมษายน 2011, 13:21:01
อ้างถึงจาก: amazegu ใน 19 เมษายน 2011, 13:15:15
ทำอะไรผิดตรงไหนหรือเปล่าคับ หน้าที่มีปัญหา น่าจะเป็นหน้า index.php ของคุณเองมากกว่า หน้า list.php อย่าเพิ่งไปดูมัน

โค้ดหน้า index.php น่าจะประมาณนี้

<HTML>
<HEAD><TITLE>Web Directory</TITLE></HEAD>
<BODY>
<H1>:: Web Directory ::</H1>
<P>
[ <A HREF="index.php">หน้าแรก</A> ]
[ <A HREF="add_url.php">เพิ่มเว็บไซต์ (URL)</A> ]
[ <A HREF="search_url.php">ค้นหาเว็บไซต์</A> ]
[ <A HREF="top10.php">Top 10 URL</A> ]
<BR>
<P><B> หมวดหมู่ >> </B></P>
<UL>
<?
include "connect.php";
include "category.php";
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);

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>";
}
?>
</UL>
</BODY>
</HTML>


แบบว่าเคยเอาสคริปตัวนี้มาศึกษา จำได้ว่าแรกๆที่เริ่มจับ php+myslq เลย สคริปและฐานข้อมูลก็ยังอยู่ในเครื่อง เลยเอามารันดู มันก็ปกติดี
ใช่ครับ ผมยกมาแค่ บางส่วน
ชื่อเรื่อง: Re: [ปัญหารอบ 3 ]ไม่มีอะไร Error แต่....ดูให้หน่อยครับ T T
โพสต์โดย: lucationjj ใน 19 เมษายน 2011, 13:22:30
Add_Url.php
โค้ด ยกมาแค่ตรงที่สำคัญ

<td>หมวดหมู่</td>
<td>
   <select name="category.php">
   <?
      include "category.php";
      for ($i=0;$i<count($cate);$i++) {
         echo "<option value='$i'>$cate[$i]</option>";
      }
   ?>
   </select>
มันผิดตรงไหน  :wanwan031:
ชื่อเรื่อง: Re: [ปัญหารอบ 3 ]ไม่มีอะไร Error แต่....ดูให้หน่อยครับ T T
โพสต์โดย: npbook ใน 19 เมษายน 2011, 13:34:06
คิดว่าเกิดจากหน้า list.php อย่างที่คุณ bonaliza บอกครับ
เพียงแต่ปัญหามันซับซ้อนซ่อนเงื่อนเพื่อนทรยศนิดหน่อย
ผมเดาว่า php ที่คุณใช้ตั้ง register_global เป็น off (เป็นค่า default แต่ถ้า php version เก่าๆจะเป็น on)
ทำให้ตัวแปร $cate_id ไม่ถูก register
และเมื่อคุณนำไปใช้กับ query string ก็จะกลายเป็น
select * from tb_url where category='' order by count_click desc
ลองสังเกตุตรงตัวแดง เงื่อนไขจะกลายเป็นเปรียบเทียบว่า column category มีค่าเท่ากับ empty string หรือไม่
แต่เคราะห์หามยามร้าย column category มี type เป็น int
mysql จึงตีความว่า category = 0 ครับ

ชื่อเรื่อง: Re: [ปัญหารอบ 3 ]ไม่มีอะไร Error แต่....ดูให้หน่อยครับ T T
โพสต์โดย: mSkyline ใน 19 เมษายน 2011, 13:38:20
ขอโทษครับ ช่วยสรุปให้ผมทุกทีได้มั้ย

code ใส่มาทุไฟล์ที่เกี่ยวของ เฉพาะส่วนที่เกี่ยวข้อง
ปัญหา มันคืออะไร กำลังจะทำอะไร ที่หน้าไหน

ถ้าไม่ได้ก็ไม่เป็นไรครับ จะคอยดูช่วยเป้นกำลังใจครับ
ชื่อเรื่อง: Re: [ปัญหารอบ 3 ]ไม่มีอะไร Error แต่....ดูให้หน่อยครับ T T
โพสต์โดย: npbook ใน 19 เมษายน 2011, 13:38:55
ผมแนะนำว่าตอน develope ตั้งค่าใน php.ini ให้แสดง warning ทั้งหมด อย่าได้กั๊กครับ จะเป็นผลดีนักแล
ชื่อเรื่อง: Re: [ปัญหารอบ 3 ]ไม่มีอะไร Error แต่....ดูให้หน่อยครับ T T
โพสต์โดย: O.o!! ใน 19 เมษายน 2011, 13:45:49
อย่างแรกช่วยไปบอกตรง post แรกหน่อยครับ ว่า ปัญหาอันใหนแก้ได้แล้ว อันใหนยังไม่ได้  คนเข้ามาแล้วงงครับ

ผมว่ามันผิดที่ส่วนนี้น่ะครับ  ลอง view source ดูหรือยังครับว่ามันเป็นตัวเลขที่ต่างกันหรือเปล่า

echo "<option value='$i'>$cate[$i]</option>";

มันน่าจะมีการใช้ผิดพลาดของ พวกเครื่องหมาย "" หรือ '' ครับ


สมมุติว่า

$i=2;
$cate[1]="one";
$cate[2]="two";

echo $cate[$1];

แล้วคุณ จะเจอ error น่ะครับ  มันจะไม่เห็น เป็น $cate[2] น่ะครับ

ลองปรับเปลี่ยนดูครับ

ชื่อเรื่อง: Re: [ปัญหารอบ 3 ]ไม่มีอะไร Error แต่....ดูให้หน่อยครับ T T
โพสต์โดย: amazegu ใน 19 เมษายน 2011, 13:48:25
http://condoclicks.co.cc/webdir/index.php

อัปโหลดขึ้นเว็บให้ทดสอบเลย โค้ดเกือบเดิมๆ แก้ connect.php ให้มันรับภาษาไทย(โค้ดเดิมอ่านไทยแล้วกะยึกกะยือ)
หน้าอื่นๆก็ใล่เปลี่ยนเป็น utf-8 จขกท ถ้าอยากได้เด๋วซิปขึ้นโฮสต์ให้คับ(ถ้าต้องการ)
ชื่อเรื่อง: Re: [ปัญหารอบ 3 ]ไม่มีอะไร Error แต่....ดูให้หน่อยครับ T T
โพสต์โดย: bonaliza ใน 19 เมษายน 2011, 14:10:10
อ้างถึงยังเหมือนเดิมครับ แก้ไม่หาย พอกด Submit เลือกหมวดหมู่อื่นมันก็ไปโผล่ หมวดหมู่การศึกษาอย่างเดียว

ขอดูโค๊ด หน้า add_url2.php หน่อยค่ะ อยากรู้ว่า จับใส่ db ไปยังไง
ชื่อเรื่อง: Re: [ปัญหารอบ 3 ]ไม่มีอะไร Error แต่....ดูให้หน่อยครับ T T
โพสต์โดย: bot2o ใน 19 เมษายน 2011, 15:10:27
header( 'Location: http://yourdomain.com/' . $goto );
ชื่อเรื่อง: Re: [ปัญหารอบ 3 ]ไม่มีอะไร Error แต่....ดูให้หน่อยครับ T T
โพสต์โดย: lucationjj ใน 19 เมษายน 2011, 17:07:57
อ้างถึงจาก: bonaliza ใน 19 เมษายน 2011, 14:10:10
อ้างถึงยังเหมือนเดิมครับ แก้ไม่หาย พอกด Submit เลือกหมวดหมู่อื่นมันก็ไปโผล่ หมวดหมู่การศึกษาอย่างเดียว

ขอดูโค๊ด หน้า add_url2.php หน่อยค่ะ อยากรู้ว่า จับใส่ db ไปยังไง

Add_url2.php

<?
$name=$_POST[name];
$url=$_POST[url];
$category=$_POST[category];
$title=$_POST[title];
$detail=$_POST[detail];

if ($name=="" or $url=="" or $title=="" or $detail=="") { 
   echo "<h3>ERROR:กรุณากรอกรายละเอียดของการเพิ่มเว็บไซต์ให้ครบ</h3>";
   exit();
}
$url="http://".$url;
$count_url=0;
include "connect.php";
$sql="insert into tb_url values('','$name','$url','$category','$title','$detail','$count_url')";
$result=mysql_db_query($dbname,$sql);
if($result){
   echo "<h3>เพิ่มเว็บไซต์ (url) เรียบร้อย</h3>";
   echo "[<a href='index.php'>กลับสู่หน้าแรก</a>]";
}else{
   echo "Error: ไม่สามรถเพิ่มเว็บไซต์ได้";
}
mysql_close();
?>
:wanwan031: :wanwan031:
ชื่อเรื่อง: Re: [ปัญหารอบ 3 ]ไม่มีอะไร Error แต่....ดูให้หน่อยครั
โพสต์โดย: bonaliza ใน 19 เมษายน 2011, 17:11:47
เปลี่ยนอันนี้
อ้างถึง<select name="category.php">

เป็นแบบนี้
อ้างถึง<select name="category">

ดีกว่าไหม


เพิ่มเติม

แก้ที่ add_url.php นะคะ
ชื่อเรื่อง: Re: [ปัญหารอบ 3 ]ไม่มีอะไร Error แต่....ดูให้หน่อยครับ T T
โพสต์โดย: lucationjj ใน 19 เมษายน 2011, 17:16:33
อ้างถึงจาก: bonaliza ใน 19 เมษายน 2011, 17:11:47
เปลี่ยนอันนี้
อ้างถึง<select name="category.php">

เป็นแบบนี้
อ้างถึง<select name="category">

ดีกว่าไหม


เพิ่มเติม

แก้ที่ add_url.php นะคะ

เส้นผมบังภูเขาแท้ๆ เลย
ขอบคุณครับ และเพื่อนๆทุกคนที่สละเวลามาช่วยแนะนำ :wanwan017: เหนื่อย!!!! :P
ชื่อเรื่อง: Re: [ปัญหารอบ 3 ]ไม่มีอะไร Error แต่....ดูให้หน่อยครับ T T
โพสต์โดย: bonaliza ใน 19 เมษายน 2011, 17:17:42
 :wanwan019:
ชื่อเรื่อง: Re: [ปัญหารอบ 3 ]ไม่มีอะไร Error แต่....ดูให้หน่อยครับ T T
โพสต์โดย: lucationjj ใน 19 เมษายน 2011, 17:23:45
เขียนโปรแกรม ถ้าเขียนคนเดียวไม่มีคนให้ปรึกษาหรือถามตอบ คงนั่งมึนแบบนี้ งานไม่เดิน  :P
ขอบคุณอีกครั้งครับทุกคน  :wanwan017: :wanwan017: :wanwan017:
ชื่อเรื่อง: Re: [ปัญหารอบ 3 ]ไม่มีอะไร Error แต่....ดูให้หน่อยครับ T T
โพสต์โดย: mSkyline ใน 19 เมษายน 2011, 20:29:03
เป็นผม จะหยุดไว้แค่นั้น

แล้วไปหาไรทำอย่างอื่น ซักพัก แล้วมาเริ่มต้นไล่ใหม่

บางทีมันจมอยู่กับปัญหาเกินไป

ผมเรียก รีเซ็ทสมอง

ผมเคยจมอยู๋กับไม่ถึงสิบบรรทัด เป็นเดือน
ไปดูหนัง กลับบ้านมาสองวัน  กลับมา ทำงานไม่ถึงชั่วโมง ออกเลย