»
訪客:
註冊
|
登入
|
搜尋
|
論壇銀行
|
管理團隊
|
論壇首頁
|
聯盟申請
|
幫助
下班後論壇-不明所以版 華麗登場
»
網頁設計學習日誌
» [求助]php的小問題!!
作者:
標題: [求助]php的小問題!!
上一主題
|
下一主題
↓會員頭像↓
↓星星數目↓
名稱﹕
kouser
頭銜﹕
invite members
暱稱﹕
積分﹕
2190
點
發貼﹕
33
篇
現金﹕
1000
元
存款﹕
363697
元
財富﹕
富可敵國
性別﹕
保密
註冊﹕
2007-9-4
狀態﹕
離線
[求助]php的小問題!!
請問php能否做出像msn對話般的聊天視窗,就是對方輸入資料時
另一方也會變更顯示,我是用來連flash
再來內容是否都得放到www底下,還是說可以放到更底下......
如.../www/magic/...之下或是只能.../www/....
還有就是在連接資料庫時,
主機名稱到底是要加http:/還是不用加
以下是我用來連接的方法
<?php
$link=@mysql_connect("192.168.1.22","1111","123456789"
or die(mysql_error());
主機名稱
$sql="select * from talkdata ";
$load=mysql_db_query("tzeng",$sql,$link);
while($data=mysql_fetch_array($load)){
$oldtalk=$data['name'];
}
$sql="truncate table talkdata ";
mysql_db_query ("tzeng" , $sql , $link);
$sql="insert into talkdata (name) values ('{$_POST['talk']}<br>{$oldtalk}')";
mysql_db_query ("tzeng" , $sql , $link);
$sql="select * from talkdata ";
$load=mysql_db_query("tzeng",$sql,$link);
while($data=mysql_fetch_array($load)){
$newtalk=$data['name'];
echo "retalk=".$newtalk."<br>".$oldtalk;
}
mysql_close($link) ;
?>
感謝^^"
2008-1-21 03:32 PM
↓會員頭像↓
↓星星數目↓
名稱﹕
eightwing
頭銜﹕
版主
暱稱﹕
打雜的
寵物﹕
小乓 (等級:51)
積分﹕
50403
點
發貼﹕
608
篇
現金﹕
36620000
元
存款﹕
26943
元
財富﹕
富可敵國
性別﹕
女
來自﹕
外太空
註冊﹕
2005-4-1
狀態﹕
離線
PHP當然可以寫類似MSN(應該算是聊天室吧)對話般的聊天視窗,
方法應該有很多種吧......
我的方法會寫到資料庫(或是文字檔txt也可以)→顯示→寫入→顯示,
通常會設定一定的數量,如五筆,
每次輸入時都檢查總筆數mysql_num_rows,若超過五筆的話,
就用陣列讀取的方試取最舊一筆的序號並刪掉,
然後再insert,
在表單中也會加入hidden的參數,
在寫入前檢查這個hidden的參數是不是空的,
是的話就顯示不動作,
不是空的話將開始寫入的程序,
寫入成市幓N將hidden這個參數清空,
不知道這個是不是你要的.......
轉換成程式碼我會寫成如下:
<?
$host="localhost";//資料庫連結設定
$user="123456";
$password="123345";
$database="tzeng";
$link_ID=mysql_connect($host,$user,$password);
mysql_select_db($database,$link_ID);
$name=$_POST['name'];
$setsubmit=$_POST['setsubmit'];.
//寫前讀取已存在的訊息
$sql="select * from talkdata order by sn;";//欄位最好有兩欄(sn、name)以便判斷,sn欄位最好是auto_increment格式
$result=mysql_query($sql,$link_ID);
$num=mysql_num_rows($result);
for($i=0;$i<$num;$i++) {
$arr[$i]=mysql_fetch_array($result);
};
if($setsubmit=="OK" and $name!=""){//判斷是否有送出表單
if($num>=5) {
$deletedata=$arr[0][sn];
$sql2="delete from talkdata where sn='$deletedata';";//刪掉最前面的
$result2=mysql_query($sql2,$link_ID);
};
$sql3="insert into talkdata (name) values ('$name');";//刪完後再寫入
$result3=mysql_query($sql3,$link_ID);
$setsubmit="";
$name="";
};
$sql="select * from talkdata order by sn;";//寫後讀取
$result=mysql_query($sql,$link_ID);
$num=mysql_num_rows($result);
for($i=0;$i<$num;$i++) {
$arr[$i]=mysql_fetch_array($result);
};
?>
<html>
<body>
//訊息顯示
<?
for($i=0;$i<$num;$i++) {
echo $arr[$i][name]."<br>";
};
?>
<form action="test.php" method="POST" style="margin:0">
<input name="name" type="text" size="40" vlaue="">
<input type="hidden" name="setsubmit" value="OK">
<input type="submit" value="確認送出">
</form>
</body>
</html>比較詳細一點的還可以加上發送的時間、表格判斷是否空白送出提示,
因為沒有實機測試,以上是想像出來的....
僅供參考:shine:
你的方式好像是先將舊訊息讀出來,
再清空資料,再寫入新訊息+舊訊息....
然後再讀出來.....
內容....是什麼樣的內容呢?
只要路徑設的正確,在哪一個資料夾底下應該都是OK的吧....
若是連結到本機的話用localhost就可以了,
若是其他電腦....這個我就沒試過了,
正常來說是不用加http的。
[ 本文由 eightwing 於 2008-1-23 在 05:16 PM 作最後編輯 ]
聽得到...
我的聲音嗎...
雖然我沒有能擁抱可愛的你們的雙臂,
但願這翅膀,
對治療你們的傷痕能有所益助,
啊,無論如果...
都希望能把我的祈禱傳達出去---...
截自:天使禁獵區 No.20 P.3
2008-1-23 04:26 PM
↓會員頭像↓
↓星星數目↓
名稱﹕
kouser
頭銜﹕
invite members
暱稱﹕
積分﹕
2190
點
發貼﹕
33
篇
現金﹕
1000
元
存款﹕
363697
元
財富﹕
富可敵國
性別﹕
保密
註冊﹕
2007-9-4
狀態﹕
離線
處理php的.php檔是否都得放到www資料夾下,因為之前我都把它放在www/mag的下面,不過卻發現,只有我能運作,朋友進來都只有說一句"不行啦!!"
再來,我的對話方法 是 只設一個num name
動作方式是先收取舊name之後,把資料庫的東西殺掉,之後再跟新進來的變數合在一起,存到資料庫內,最後再發給那一個電腦,應該就是你最後所寫的!!
不過這幾天的發現,我寫法好像不能互相更新
也就是說A打出的訊息,只有它本身會變動,而對方B則要等到它發出訊息才會發現到原來A也有打出訊息!!
目前我的規劃有 登錄!!進入!! 對話!! 跟^^"對戰!!
希望想寫一個可以網上對戰的方式
http://kouser.no-ip.biz
以上為網站,不過我是用它人的電腦!! 開放時間為!!上班時間!!
ps 最近公司無太多業務,所以我可以藉由寫一些程式順便練習一下我當初想寫的東西!!
不過我都會在網頁上鑲一個直通php的按鑑,畢竟用flash它不會告訴我php那裡錯哩!!
感謝!!版主老大!!
2008-1-24 02:54 PM
↓會員頭像↓
↓星星數目↓
名稱﹕
eightwing
頭銜﹕
版主
暱稱﹕
打雜的
寵物﹕
小乓 (等級:51)
積分﹕
50403
點
發貼﹕
608
篇
現金﹕
36620000
元
存款﹕
26943
元
財富﹕
富可敵國
性別﹕
女
來自﹕
外太空
註冊﹕
2005-4-1
狀態﹕
離線
處理PHP檔是可以放在其他資料夾底下哦,
是不是你的伺服器設定的路徑不對?
httpd.conf?
不行的話是出現找不到檔案還是有錯誤訊息??
有錯誤訊息的話可以po上來.....
要互相更新的話加上Javascirpt的重新整理就OK囉,
可以設定5秒重整一次,
一般聊天室都是用這個方式,
對戰??是類似這個論壇的寵物對戰嗎?
可以參考別人的程式然後改成自已的....
呵....順便打一下廣告....
可以到論壇的寵物中心領養一隻寵物哦....
一起加油吧,可以互相討論....
聽得到...
我的聲音嗎...
雖然我沒有能擁抱可愛的你們的雙臂,
但願這翅膀,
對治療你們的傷痕能有所益助,
啊,無論如果...
都希望能把我的祈禱傳達出去---...
截自:天使禁獵區 No.20 P.3
2008-1-24 05:28 PM
↓會員頭像↓
↓星星數目↓
名稱﹕
kouser
頭銜﹕
invite members
暱稱﹕
積分﹕
2190
點
發貼﹕
33
篇
現金﹕
1000
元
存款﹕
363697
元
財富﹕
富可敵國
性別﹕
保密
註冊﹕
2007-9-4
狀態﹕
離線
重整!!嗯!!所以就是說只能靠伺服自己去改變內容囉!!
而不能說當A傳訊時,伺服接到後,發一個指令改變所有使用者的內容囉?
因為 要跟flash配合,所以我都必須要先做一個動作!! echo "flash變數=".$php變數!!
之後,我copy了版主想法 經過一段時間更新, 這方法我寫在flash 等到時間一到 傳值到php 不過傳出來的東西,令我不解
我只是把之前的留言php內容改一下變成另一個php檔,
如果內容跟資料庫的內容一樣就不變要不然就
先讀data,再清空data,再給flash一個變數呈現出對話內容,這時,我所看到的畫面應該為更新後的對話,不過結果卻是顯示前面舊的對話!!
我本以為php有錯,我按一下我查證的按鈕(它會直接到該php檔,有錯的話會跟我說)不過它卻有正確的顯示出該給flash接的值,也就是有接到新訊息!!
以上這一點我就覺得很頭大,詭異的是 我把這一更新的php檔故意不讓它連上線 每當更新時間到,照樣會出現舊的對話這我就不知道問題是出在那邊了,是flash的問題嗎?還是php的變數有重覆到,
放置位置ok了原來是我給朋友的網是錯的害我以為是不是我放錯資料夾,因為我都用本機位置 忘了對方要進來是要用外部的!!
寵物對戰?ㄟ 我都不知道能對戰我只以為是養養而已!!
多謝板大提醒了!!
2008-1-25 10:40 AM
下班後論壇-不明所以版 華麗登場
»
網頁設計學習日誌
» [求助]php的小問題!!
可列印版本
|
推薦給朋友
|
訂閱主題
|
收藏主題
論壇跳轉:
HAKUEI DOLL專區
> PENICILLIN
> PHOTO
藍色深海魚專區
> Gackt
> Linux學習日誌
> 3dsmax學習日誌
> 網頁設計學習日誌
> 軟體相關區
論壇特別區
壇員專區
> 自我介紹
> 會員反應區
> 壇員作品區
閒情逸致
> 遊戲區PC、PS、PS2、Online
> 天堂
> FinalFantasy
> 活動筋骨區
> 棒球
> 生活小插曲
> 電影、戲劇
> 生活、健康
> 動漫區
路邊聚會
> 酷站推薦
> 旅遊快報
> 壇員灌水區
<
聯繫我們
-
貓羽舖工作室
>
美化及改良由
╰★超煩論壇☆╮與
貓羽舖工作室
維護製作
Powered by
Discuz!
3.1.2 Plus
/
License
© 2001-26
Crossday-Bokavan Ltd.
Processed in 0.010147 second(s), 11 queries, Gzip enabled