ทำอย่างไร ให้ชื่อ ที่ LOGIN โพสในหมวดเว็บบอร์ด แล้วแสดงชื่อที่ LOGIN ครับ
คือตัวนั้นผมทำแล้วครับ แต่ต้องการแก้ ให้เป็น โพสจาก USER และแสดงชื่อ NAME ของ USER อ่ะครับ เพื่อป้องกันปัญหาไม่ให้คนอื่นสามารถใช้ชื่อของเราในการโพสได้ยังงี้อ่ะครับ
Date :
2016-11-06 21:02:43
By :
revolution01
วิธีดัดแปลงใช้แบบนี้ได้ไหมครับ
เอามาชื่อ Username / Name มาโชว์ เสร็จแล้ว
ให้โชว์ชื่อ Name
ให้ Save Name ลงไปที่ Table ของหน้านั้นๆ ที่ต้องการ ให้แสดงชื่อ
แล้วให้โชว์ชื่อ Name มันก็จะโชว์ชื่อให้ ถูกไหมครับ o_O คิดไว้เฉยๆ แต่ยังไม่ได้ลองทำ ไปลองทำวิธีอื่นๆ หลายอย่าง มั่วจนพัง - -*
Date :
2016-11-07 19:43:14
By :
revolution01
ต้องการเรียกข้อมูลจาก Session Login เพื่อแสดงว่า ผู้ใช้งานที่ Login เข้ามาขณะนี้ เป็นผู้โพส กระทู้ นี้ ประมาณนั้นครับ
* เรียก ฐานข้อมูล SESSION จาก Login และให้ Username โชว์ ที่หน้า Webboard ว่าคนนี้เป็นคนโพส
ประวัติการแก้ไข 2016-11-08 02:41:53 2016-11-08 02:55:54
Date :
2016-11-07 22:43:54
By :
revolution01
หรืออีกแบบ Save ตัว <?=$objResult["Name"];?> ลงไปใน table webboard พอเวลาเรียก <?=$objResult["Name"];?> ก็จะเรียกฐานข้อมูล Name มาจาก table webboard
ประวัติการแก้ไข 2016-11-08 02:42:48 2016-11-08 02:44:50
Date :
2016-11-07 22:53:04
By :
revolution01
-
ประวัติการแก้ไข 2016-11-08 02:38:08
Date :
2016-11-08 02:32:12
By :
revolution01
ที่ต้องการแก้ก็คือ จากเดิมสามารถพิมพ์ชื่ออะไรก็ได้ ซ้ำกันก็ได้ ตรง Name ของผู้โพสข้อความ อยากจะแก้เป็น ไม่สามารถพิมพ์ชื่อได้ แต่เวลาโพสจะแสดงชื่อของ User คนนั้น เป็นผู้โพส เช่นผม revolution01 จะไปกดเปลี่ยนเป็น revolution02 ไม่ได้
ประวัติการแก้ไข 2016-11-08 02:36:31 2016-11-08 02:49:25
Date :
2016-11-08 02:33:57
By :
revolution01
Code เดิมผมก็เอามาจากหน้านั้น
https://www.thaicreate.com/free-web-script/php-create-webboard-mysql.html
แต่ที่ต้องการแก้ก็คือ อยากให้ เวลาโพส ไม่สามารถแก้ไขชื่อได้ และ เมื่อโพสแล้วแสดงชื่อของ Session ที่ Login มาอ่ะครับ
เพื่อป้องกันไม่ให้คนอื่นใช้ชื่อ Username เรามาพิมพ์กลั่นแกล้งประมาณนั้นอ่ะครับ
เช่น ชื่อ Login Username คือ revolution01 / Name คือ Revo
เราก็ให้แสดง Username ว่า revolution01 เป็นผู้โพสข้อความ
ตัวอย่าง ในเว็บบอร์ดนี้ เวลาเราโพส ชื่อเราจะมาแสดงอยู่ที่ "โดย" ตามด้วยชื่อเรา แล้วก็ต้องการล็อคไม่ให้แก้ไขได้ พอโพสไปก็แสดงชื่อนั้น
ประวัติการแก้ไข 2016-11-08 02:36:06 2016-11-08 02:37:35 2016-11-08 02:39:51 2016-11-08 02:45:41 2016-11-08 02:54:24 2016-11-08 02:56:36 2016-11-08 02:57:25
Date :
2016-11-08 02:34:59
By :
revolution01
TEST - EXAMPLE
ประวัติการแก้ไข 2016-11-08 02:58:58
Date :
2016-11-08 02:57:47
By :
revolution01234 แบบนี้แก้ได้
เป็นปัญหาที่พื้นฐานยังไม่เข้าในใน code ไม่เข้าในการทำงานว่าค่าอะไรมาจากไหนมากกว่าครับ ...
Date :
2016-11-08 08:08:45
By :
apisitp
ค่อนข้างเห็นผลเลยครับ ผมเปลี่ยนเป็น $_SESSION ['UserID'] ขึ้นเลขมาครับ ขอบพระคุณเป็นอย่างสูงครับ ^______^
แต่เปลี่ยนเป็น $_SESSION ['Username'] หรือ $_SESSION ['Name'] แล้วมันไม่ขึ้นชื่อเลยครับ T______T
Code (PHP)
<?
session_start();
if($_SESSION['UserID'] == "")
{
echo "Please Login!";
exit();
}
if($_SESSION['Status'] != "USER")
{
echo "This page for User only!";
exit();
}
mysql_connect("localhost","root","1234");
mysql_select_db("member");
$strSQL = "SELECT * FROM member WHERE UserID = '".$_SESSION['UserID']."' ";
$objQuery = mysql_query($strSQL);
$objResult = mysql_fetch_array($objQuery);
?>
<?php
$objConnect = mysql_connect("localhost","root","1234") or die("Error Connect to Database");
$objDB = mysql_select_db("member");
if($_GET["Action"] == "Save")
{
//*** Insert Question ***//
$strSQL = "INSERT INTO webboard ";
$strSQL .="(CreateDate,Question,Details,Name) ";
$strSQL .="VALUES ";
$strSQL .="('".date("Y-m-d H:i:s")."','".$_POST["txtQuestion"]."','".$_POST["txtDetails"]."','".$_SESSION ['UserID']."') ";
$objQuery = mysql_query($strSQL);
header("location:webboard.php");
}
?>
Code (PHP)
<form action="newquestion.php?Action=Save" method="post" name="frmMain" id="frmMain">
<table width="621" border="1" cellpadding="1" cellspacing="1">
<tr>
<td>หัวข้อ</td>
<td><input name="txtQuestion" type="text" id="txtQuestion" value="" size="70"></td>
</tr>
<tr>
<td width="78">รายละเอียด</td>
<td><textarea name="txtDetails" cols="50" rows="5" id="txtDetails"></textarea></td>
</tr>
<tr>
<td width="78">ชื่อ</td>
<td width="647"><?=$objResult["Username"];?></td>
</tr>
</table>
<p>
<input name="btnSave" type="submit" id="btnSave" value="Submit">
</p>
<p><a href="webboard.php">Back to Webboard</a></p>
</form>
ประวัติการแก้ไข 2016-11-08 08:33:23 2016-11-08 08:39:44 2016-11-08 08:42:18 2016-11-08 09:22:21 2016-11-08 09:33:38
Date :
2016-11-08 08:31:01
By :
revolution01
ประวัติการแก้ไข 2016-11-08 09:06:53 2016-11-08 09:21:17
Date :
2016-11-08 08:52:14
By :
revolution01
<td width="647"><?=$objResult["Username "];?></td>
เปลี่ยน
<td width="647"><?=$objResult["Name "];?></td>
ก็ได้แล้วมั้ง
Date :
2016-11-08 09:30:49
By :
apisitp
คือค่าที่มันเซฟไปเป็น ค่า '".$_SESSION ['UserID']."' อ่ะครับ ที่ขึ่้นเลข 8
แต่ผมต้องการให้มันเซฟค่า '".$_SESSION ['Username']."' หรือ '".$_SESSION ['NAME']."' อ่ะครับ
ส่วนตัวตรง <td width="647"><?=$objResult["Username"];?></td> มันเอาไว้โชว์ชื่อเฉยๆ อ่ะครับ ผมลองแก้ตรงนี้แล้วมันไม่ส่งผลไปถึง Insert Table อ่ะครับ T_T
ต้องการให้มันโชว์
ที่มันยังไม่โชว์ เพราะว่า มันเซฟค่า '".$_SESSION ['UserID']."' ซึ่งเป็นเลขลำดับของ ID ที่ผมใช้อยู่ตอนนี้คือ ID ลำดับที่ 8
จะเปลี่ยนให้มันเซฟเป็นค่าของ ชื่อ ".$_SESSION ['NAME']."' แล้วเซฟลงไปใน Table ยังไงเนี่ยแหละครับ T_T i'm cry
ประวัติการแก้ไข 2016-11-08 09:42:18 2016-11-08 09:47:48 2016-11-08 09:58:46 2016-11-08 10:00:10 2016-11-08 10:00:51
Date :
2016-11-08 09:38:39
By :
revolution01
ก็เอาเอา SESSION ที่เก็บมา ไป Select หาสิครับ
select * from table where UserID = $_SESSION ['UserID'];
แล้วก็ query เอาค่า Username มาแค่นั้นแหละครับ
Date :
2016-11-08 14:35:26
By :
Pla2todkrob
Code (PHP)
<?
session_start();
mysql_connect("localhost","root","1234");
mysql_select_db("member");
$strSQL = "SELECT * FROM member WHERE UserID = '".$_SESSION['UserID']."' ";
$objQuery = mysql_query($strSQL);
$objResult = mysql_fetch_array($objQuery);
?>
<?php
$objConnect = mysql_connect("localhost","root","1234") or die("Error Connect to Database");
$objDB = mysql_select_db("member");
if($_GET["Action"] == "Save")
{
//*** Insert Question ***//
$strSQL = "INSERT INTO webboard ";
$strSQL .="(CreateDate,Question,Details,Name) ";
$strSQL .="VALUES ";
$strSQL .="('".date("Y-m-d H:i:s")."','".$_POST["txtQuestion"]."','".$_POST["txtDetails"]."','".$_SESSION['UserID']."') ";
$objQuery = mysql_query($strSQL);
@header("location:webboard.php");
}
?>
********* จากคำแนะนำของท่าน Luz (คิดตาม*******) จนคิดได้ ตัวนี้ $objResult["Name"] เอา $_SESSION['UserID'] เปลี่ยนเป็น $objResult["Name"] ได้แล้วครับ 5555+
ประวัติการแก้ไข 2016-11-09 11:11:18
Date :
2016-11-09 11:06:55
By :
revolution01
ก็ศึกษาเพิ่มเติมในส่วนที่ขาดเยอะๆ ถ้าทำโปรเจ็คจบก็ขอให้ผ่านด้วยดีครับ แต่ถ้าทำขายยังต้องว่ากันอีกยาว
Date :
2016-11-09 12:05:42
By :
apisitp
โปรเจค จบครับ ขอบคุณทุกท่านครับ
และขอบพระคุณท่าน Luz อย่างมากมายครับ : )
ประวัติการแก้ไข 2016-11-09 16:19:08
Date :
2016-11-09 12:16:39
By :
revolution01
Load balance : Server 00