|
|
|
แก้ไขภาษาต่างดาว+สคริป logout มีปัญหา ช่วยหน่อยนะครับ ขอด่วน |
|
|
|
|
|
|
|
เรื่องภาษาต่างดาว แสดงว่ามีบางไฟล์ ไม่ได้ Encoding เป็น UTF-8 ครับ เช็คหน้าที่มีปัญหาครับ ตรวจทุกไฟล์ที่ Include มาใช้ในหน้านั้น
วิธีที่ผมใช้แก้ง่ายๆคือ ลองพิมพ์ภาษาไทยไปในไฟล์มีปัญหาครับ แล้วไล่ Comment ไฟล์ที่ include ทีละไฟล์ ครับ แล้ว Run ดู
Comment ไฟล์ไหนแล้วมันหาย ก็มุ่งไปที่ไฟล์นั้นเลยครับ ไม่งั้นงมตายเลย
ส่วนเรื่อง Error ด้านบน ผมเดาว่าต้อง มี function header() อยู่แน่ๆ
คืองี้ครับ function header() มันต้องอยู่ก่อน output ทั้งหลายแหล่ เนื่องจากไอ้เจ้า header() เนี่ยมันใช้ในการ response หรือ ตอบกลับไปยัง Client แต่ ดันมี Output ส่งไปให้ Client ซะก่อนแล้ว header() มันก็เลยโวยวายอย่างที่เห็น ว่า จะให้ modify ได้ยังไง ในเมื่อส่ง output ออกไปแล้ว
output ที่ว่าก็คือ string อะไรก็ช่างถือเป็น output หมด เช่น
Code (PHP)
<?
echo "ff";
header("LOCATION:index.php");
?>
แบบนี้ก็ผิดนะ
Code (PHP)
// มี space อยู่ ถือว่าเป็น output เช่นกัน
<?
header("LOCATION:index.php");
?>
|
ประวัติการแก้ไข 2011-12-17 21:07:06
|
|
|
|
Date :
2011-12-17 21:06:22 |
By :
kerb |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
สาเหตุของภาษาต่างดาวที่เคยเจอนะครับ
1. ไฟล์ Encoding ไม่เป็น UTF-8
2. collation ของฐานข้อมูมลไม่เป็น UTF-8
3. ไม่มีแท็ก <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
ลองตรวจสอบดูครับ
|
|
|
|
|
Date :
2011-12-17 21:18:53 |
By :
000su000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Guide : ผมโมสคริปจากต้นฉบับมาครับ ลองนำไฟล์ต้นฉบับมาใส่ อาการก็ยังไม่หายครับ ไม่รู้ทำยังไงแล้ว
@Ek_zab : ลองดูแล้วครับ แต่ยังไม่ได้ แต่ติดข้อ 2 ครับ ผมทำไม่เป็น ..
|
|
|
|
|
Date :
2011-12-17 23:43:26 |
By :
น้ำแข็งใส~ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แก้ได้รึยังครับ
|
|
|
|
|
Date :
2011-12-18 07:45:40 |
By :
kerb |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
UTF-8 ครับ
|
|
|
|
|
Date :
2011-12-18 08:03:55 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Guide : ยังเลยครับ ตามที่บอกไปครับ สคริปโมมา ก๊อปโค๊ดตัวเก่ามาก็ยังไม่หาย
@mr.win : ผมใช้วิน 7 ไม่มีให้เลือก encode ครับ tt'
|
ประวัติการแก้ไข 2011-12-18 12:27:32 2011-12-18 12:27:47
|
|
|
|
Date :
2011-12-18 12:27:14 |
By :
น้ำแข็งใส~ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมก็ใช้ win7 notepad ยังทำได้เลยครับ
|
|
|
|
|
Date :
2011-12-18 13:08:37 |
By :
kerb |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมลองเปลี่ยนทั้งหมดแล้วครับ ไม่ได้ ปัญหามันก็คือ เพิ่มชื่อเข้าไปเป็นต่างดาว
แต่ถ้าแก้ไขข้อมูลจะเป็นภาษาไทยปกติครับ (แก้ไขที่เป็นต่างดาว) ขอบคุณครับ
|
|
|
|
|
Date :
2011-12-18 13:27:53 |
By :
น้ำแข็งใส~ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แก้ไขนี่ แก้ไขจากโปรแกรม หรือ แก้ไขผ่าน phpmyadmin ครับ
|
|
|
|
|
Date :
2011-12-18 13:44:00 |
By :
kerb |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แก้ไขจากโปรแกรมโดยตรงครับ แต่ผมก็อยากรู้เหมือนกันว่าถ้าจะแก้ไขจากฐานข้อมูลทำอย่างไร
|
|
|
|
|
Date :
2011-12-18 14:14:10 |
By :
น้ำแข็งใส~ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอา code ไฟล์ที่มีปัญหาภาษาต่างดาวมาดูหน่อยครับ
|
|
|
|
|
Date :
2011-12-18 14:16:07 |
By :
kerb |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
น่าจะเป็นอันนี้นะครับ
Code (PHP)
<?php
include('header.php');
foreach($_POST as $key => $value) {
$protectie[$key] = filter($value);
}
if(isset($_POST['submit']) && $protectie['url'] == "http://" || isset($_POST['submit']) && $protectie['url'] == ""){
$mesaj = "<div class=\"msg\"><div class=\"error\">เพิ่มลิงค์เว็บไซต์ของคุณ</div></div>";
}else if(isset($_POST['submit']) && $protectie['title'] == ""){
$mesaj = "<div class=\"msg\"><div class=\"error\">เพิ่มชื่อเว็บไซต์ของคุณ</div></div>";
}else if(isset($_POST['submit']) && !preg_match("/\bhttp\b/i", $protectie['url'])){
$mesaj = "<div class=\"msg\"><div class=\"error\">URL ต้องมี http://</div></div>";
}else if(isset($_POST['submit']) && $_POST['type'] == "google") {
$num1 = mysql_query("SELECT * FROM `sites` WHERE `site`='{$protectie['url']}'");
$num = mysql_num_rows($num1);
if($num > 0){
$mesaj = "<div class=\"msg\"><div class=\"error\">เว็บไซต์ของคุณมีอยู่ในระบบอยู่แล้ว/div></div>";
}else{
mysql_query("INSERT INTO `sites` (user, site, title, cpc) VALUES('{$data->login}', '{$protectie['url']}', '{$protectie['title']}', '{$protectie['cpc']}') ");
$mesaj = "<div class=\"msg\"><div class=\"success\">เว็บไซต์ของคุณได้เพิ่มเรียบร้อยแล้ว</div></div>";
}
}else if(isset($_POST['submit']) && $_POST['type'] == "youtube") {
$x = explode('=', $protectie['url']);
if(preg_match("/\b&\b/i", $x[1])){$y = explode('&', $x[1]); $z = $y[0];}else{$z = $x[1];}
$num1 = mysql_query("SELECT * FROM `youtube` WHERE `youtube`='{$z}' AND `user`='{$data->id}'");
$num = mysql_num_rows($num1);
if($num > 0){
$mesaj = "<div class=\"msg\"><div class=\"error\">วิดีโอนี้มีอยู่ในระบบแล้ว</div></div>";
}else if($z == ""){
$mesaj = "<div class=\"msg\"><div class=\"error\">กรุณาป้อน Youtube ID ให้ถูกต้อง</div></div>";
}else{
mysql_query("INSERT INTO `youtube` (user, youtube, title, cpc) VALUES('{$data->id}', '{$z}', '{$protectie['title']}', '{$protectie['cpc']}') ")or die(mysql_error());
$mesaj = "<div class=\"msg\"><div class=\"success\">วิดีโอของคุณได้เพิ่มเรียบร้อยแล้ว</div></div>";
}
}else if(isset($_POST['submit']) && $_POST['type'] == "surf") {
$num1 = mysql_query("SELECT * FROM `surf` WHERE `site`='{$protectie['url']}' AND `user`='{$data->id}'");
$num = mysql_num_rows($num1);
if($num > 0){
$mesaj = "<div class=\"msg\"><div class=\"error\">เว็บไซต์นี้มีอยู่ในระบบแล้ว</div></div>";
}else{
mysql_query("INSERT INTO `surf` (user, site, title, cpc) VALUES('{$data->id}', '{$protectie['url']}', '{$protectie['title']}', '{$protectie['cpc']}') ");
$mesaj = "<div class=\"msg\"><div class=\"success\">เว็บไซต์ของคุณได้เพิ่มเรียบร้อยแล้ว</div></div>";
}}else if(isset($_POST['submit']) && $_POST['type'] == "facebook") {
$num1 = mysql_query("SELECT * FROM `facebook` WHERE `facebook`='{$protectie['url']}'");
$num = mysql_num_rows($num1);
if($num > 0){
$mesaj = "<div class=\"msg\"><div class=\"error\">เพจนี้มีอยู่ในระบบแล้ว</div></div>";
}else{
mysql_query("INSERT INTO `facebook` (user, facebook, title, cpc) VALUES('{$data->id}', '{$protectie['url']}', '{$protectie['title']}', '{$protectie['cpc']}') ");
$mesaj = "<div class=\"msg\"><div class=\"success\">เพจของคุณได้เพิ่มเรียบร้อยแล้ว</div></div>";
}}?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<div class="block medium right">
<div class="top"><?if(isset($data->login)) {?>
<h1>เพิ่มเว็บไซต์</h1>
</div>
<div class="content"><? echo $mesaj; ?>
<form method="post">
<fieldset>
<p>
<label class="radio"><input type="radio" name="type" value="facebook" checked="checked" />Facebook (Like)</label>
<label class="radio"><input type="radio" name="type" value="google" />Google (+1)</label>
<label class="radio"><input type="radio" name="type" value="surf" />เพิ่ม Traffic เว็บไซต์</label>
<label class="radio"><input type="radio" name="type" value="youtube" />Youtube</label>
</p>
<p>
<label>Link</label> <small class="above">ใส่ URL ของคุณที่นี่</small><br/>
<input class="text big" type="text" value="http://" name="url" />
</p>
<p>
<label>Title</label> <small class="above">ใส่ชื่อเว็บไซต์ของคุณที่นี่</small><br/>
<input class="text big" type="text" value="" name="title" maxlength="30" />
</p>
<p>
<label>ค่าคลิกเหรียญ</label> <br/>
<select class="styled" name="cpc">
<option value="1">1 เหรียญ</option>
<option value="2">2 เหรียญ</option>
<option value="3">3 เหรียญ</option>
<option value="4">4 เหรียญ</option>
<option value="5">5 เหรียญ</option>
</select>
</p>
<p><small><b>* 1 เหรียญ ต่อ 1 คลิก.</b></small></p>
<p>
<input type="submit" class="button gray small" value="Add site" name="submit" />
</p>
</fieldset>
</form>
<?}else{?><script>document.location.href='index.php'</script><?}?>
</div>
</div>
<?include('footer.php');?>
|
|
|
|
|
Date :
2011-12-18 14:33:11 |
By :
น้ำแข็งใส~ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใส่โค้ด
echo 'ทดสอบภาษาไทย';
exit;
ไว้บนสุดของไฟล์แล้ว run ดูครับ ถ้ามันเป็นภาษาไทยถูกต้อง ให้ไล่ทำไปตามไฟล์ที่ include ครับ header.php ,footer.php ตามลำดับ
เวลา test ที่ไฟล์ include ให้เรียกเว็บแบบนี้เลยนะครับ http://domain.com/header.php ไม่ใช่เรียกไฟล์เดิม
ถ้าเจอต้นตอก็จัดการแปลงเป็น utf-8 ซะ
Code (PHP)
<?php
echo 'ทดสอบภาษาไทย';
exit;
include('header.php');
foreach($_POST as $key => $value) {
$protectie[$key] = filter($value);
}
if(isset($_POST['submit']) && $protectie['url'] == "http://" || isset($_POST['submit']) && $protectie['url'] == ""){
$mesaj = "<div class=\"msg\"><div class=\"error\">เพิ่มลิงค์เว็บไซต์ของคุณ</div></div>";
}else if(isset($_POST['submit']) && $protectie['title'] == ""){
$mesaj = "<div class=\"msg\"><div class=\"error\">เพิ่มชื่อเว็บไซต์ของคุณ</div></div>";
}else if(isset($_POST['submit']) && !preg_match("/\bhttp\b/i", $protectie['url'])){
$mesaj = "<div class=\"msg\"><div class=\"error\">URL ต้องมี http://</div></div>";
}else if(isset($_POST['submit']) && $_POST['type'] == "google") {
$num1 = mysql_query("SELECT * FROM `sites` WHERE `site`='{$protectie['url']}'");
$num = mysql_num_rows($num1);
if($num > 0){
$mesaj = "<div class=\"msg\"><div class=\"error\">เว็บไซต์ของคุณมีอยู่ในระบบอยู่แล้ว/div></div>";
}else{
mysql_query("INSERT INTO `sites` (user, site, title, cpc) VALUES('{$data->login}', '{$protectie['url']}', '{$protectie['title']}', '{$protectie['cpc']}') ");
$mesaj = "<div class=\"msg\"><div class=\"success\">เว็บไซต์ของคุณได้เพิ่มเรียบร้อยแล้ว</div></div>";
}
}else if(isset($_POST['submit']) && $_POST['type'] == "youtube") {
$x = explode('=', $protectie['url']);
if(preg_match("/\b&\b/i", $x[1])){$y = explode('&', $x[1]); $z = $y[0];}else{$z = $x[1];}
$num1 = mysql_query("SELECT * FROM `youtube` WHERE `youtube`='{$z}' AND `user`='{$data->id}'");
$num = mysql_num_rows($num1);
if($num > 0){
$mesaj = "<div class=\"msg\"><div class=\"error\">วิดีโอนี้มีอยู่ในระบบแล้ว</div></div>";
}else if($z == ""){
$mesaj = "<div class=\"msg\"><div class=\"error\">กรุณาป้อน Youtube ID ให้ถูกต้อง</div></div>";
}else{
mysql_query("INSERT INTO `youtube` (user, youtube, title, cpc) VALUES('{$data->id}', '{$z}', '{$protectie['title']}', '{$protectie['cpc']}') ")or die(mysql_error());
$mesaj = "<div class=\"msg\"><div class=\"success\">วิดีโอของคุณได้เพิ่มเรียบร้อยแล้ว</div></div>";
}
}else if(isset($_POST['submit']) && $_POST['type'] == "surf") {
$num1 = mysql_query("SELECT * FROM `surf` WHERE `site`='{$protectie['url']}' AND `user`='{$data->id}'");
$num = mysql_num_rows($num1);
if($num > 0){
$mesaj = "<div class=\"msg\"><div class=\"error\">เว็บไซต์นี้มีอยู่ในระบบแล้ว</div></div>";
}else{
mysql_query("INSERT INTO `surf` (user, site, title, cpc) VALUES('{$data->id}', '{$protectie['url']}', '{$protectie['title']}', '{$protectie['cpc']}') ");
$mesaj = "<div class=\"msg\"><div class=\"success\">เว็บไซต์ของคุณได้เพิ่มเรียบร้อยแล้ว</div></div>";
}}else if(isset($_POST['submit']) && $_POST['type'] == "facebook") {
$num1 = mysql_query("SELECT * FROM `facebook` WHERE `facebook`='{$protectie['url']}'");
$num = mysql_num_rows($num1);
if($num > 0){
$mesaj = "<div class=\"msg\"><div class=\"error\">เพจนี้มีอยู่ในระบบแล้ว</div></div>";
}else{
mysql_query("INSERT INTO `facebook` (user, facebook, title, cpc) VALUES('{$data->id}', '{$protectie['url']}', '{$protectie['title']}', '{$protectie['cpc']}') ");
$mesaj = "<div class=\"msg\"><div class=\"success\">เพจของคุณได้เพิ่มเรียบร้อยแล้ว</div></div>";
}}?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<div class="block medium right">
<div class="top"><?if(isset($data->login)) {?>
<h1>เพิ่มเว็บไซต์</h1>
</div>
<div class="content"><? echo $mesaj; ?>
<form method="post">
<fieldset>
<p>
<label class="radio"><input type="radio" name="type" value="facebook" checked="checked" />Facebook (Like)</label>
<label class="radio"><input type="radio" name="type" value="google" />Google (+1)</label>
<label class="radio"><input type="radio" name="type" value="surf" />เพิ่ม Traffic เว็บไซต์</label>
<label class="radio"><input type="radio" name="type" value="youtube" />Youtube</label>
</p>
<p>
<label>Link</label> <small class="above">ใส่ URL ของคุณที่นี่</small><br/>
<input class="text big" type="text" value="http://" name="url" />
</p>
<p>
<label>Title</label> <small class="above">ใส่ชื่อเว็บไซต์ของคุณที่นี่</small><br/>
<input class="text big" type="text" value="" name="title" maxlength="30" />
</p>
<p>
<label>ค่าคลิกเหรียญ</label> <br/>
<select class="styled" name="cpc">
<option value="1">1 เหรียญ</option>
<option value="2">2 เหรียญ</option>
<option value="3">3 เหรียญ</option>
<option value="4">4 เหรียญ</option>
<option value="5">5 เหรียญ</option>
</select>
</p>
<p><small><b>* 1 เหรียญ ต่อ 1 คลิก.</b></small></p>
<p>
<input type="submit" class="button gray small" value="Add site" name="submit" />
</p>
</fieldset>
</form>
<?}else{?><script>document.location.href='index.php'</script><?}?>
</div>
</div>
<?include('footer.php');?>
|
|
|
|
|
Date :
2011-12-18 14:38:09 |
By :
kerb |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองแล้วครับ ปกติดีครับ ผมสงสัยว่าน่าจะเป็นจากฐานข้อมูล(รึเปล่า) แต่ไม่รู้แก้ยังไงนี่สิครับ
|
|
|
|
|
Date :
2011-12-18 14:49:08 |
By :
น้ำแข็งใส~ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอดูผลลัพธ์ตอนที่ภาษาต่างดาวมันโผล่มาหน่อยครับ capture รูปมานะครับ
|
|
|
|
|
Date :
2011-12-18 16:14:47 |
By :
kerb |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตามนี้ครับ ขอบคุณครับ
|
|
|
|
|
Date :
2011-12-19 19:17:51 |
By :
น้ำแข็งใส~ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|