台灣最大程式設計社群網站
線上人數
2840
 
會員總數:245985
討論主題:189565
歡迎您免費加入會員
討論區列表 >> PHP >> 有沒有大大能幫幫忙 幫忙看一下問題出在哪!!小弟找了好幾天 還是找不到問題原因
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
有沒有大大能幫幫忙 幫忙看一下問題出在哪!!小弟找了好幾天 還是找不到問題原因
價值 : 40 QP  點閱數:620 回應數:10
樓主

范仲綸
門外漢
0 2
43 7
發送站內信

是這樣的 小弟我的會員修改資料系統 修改完成後 無法順利更新進去資料庫 能麻煩會的大大幫忙一下嗎 感激不盡!!!

以上是圖片QQ
以下是程式碼
modify.php 點修改會員資料時 會連接到這個程式
程式碼如下
<?php
error_reporting(E_ALL ^ E_DEPRECATED);
header("Content-Type:text/html; charset=utf-8");
//檢查cookie變數passed 是否等於true
$passed=$_COOKIE["passed"];

//如果Cookie變數passed不等於true
//表示 尚未登入網站,重新導向到首頁

if($passed!="TRUE")

{
header("location:index.html");
exit();
}

//如果cookie變數passed=true
//表示已經登入,取得瀏覽者資料
else
{
$id=$_COOKIE["id"];


//建立資料連接
$link = mysql_connect("localhost","root");
if(!$link) die ("建立資料連接失敗");

//開啟資料庫

$db_selected =mysql_select_db("member",$link);
if(!$db_selected) die ("開啟資料庫失敗");


//執行select陳述 取得瀏覽者資料

$sql = "SELECT * FROM users WHERE id=$id";
mysql_query("SET NAMES 'utf8'");
$result = mysql_query($sql,$link);
if(!$result) die ("執行sql命令失敗".mysql_error());
$row = mysql_fetch_assoc($result);//把查詢資料存入陣列
?>
<!DOCTYPE html>
<html>
<head>

<meta charset="UTF-8" name="viewport" content="width=device-width, initial-scale=1.0">
<script language="javascript">
function point()
{



if(document.member.password.value.length==0)
{
alert("使用者密碼必須填寫唷!");
return false;
}
if(document.member.password.value.length>10)
{
alert("使用者密碼不可超過10個字元唷!");
return false;
}
if(document.member.repeat_password.value.length==0)
{
alert("(密碼確認)欄位忘了填寫唷");
return false;
}
if(document.member.password.value!=document.member.repeat_password.value)
{
alert("(密碼確認)欄位與(使用者密碼)欄位一定要相同唷");
return false;
}

if(document.member.name.value.length==0)
{
alert("您要留下真實姓名唷");
return false;

}
if(document.member.year.value.length!=4)
{
alert("(出生年)必須為西元四個數字");
return false;
}
if(document.member.month.value.length==0)
{
alert("(出生月)欄位沒填到唷");
return false;
}
if(document.member.month.value>12|document.member.month.value<1)
{
alert("(出生月)只能介於 1-12 之間唷!");
return false;
}
if(document.member.day.value.length==0)
{
alert("(出生日)欄位沒填到唷");
return false;
}
if(document.member.month.value==2&document.member.day.value>29)
{
alert("二月只有28天,最多29天");
return false;
}
if(document.member.month.value==4|document.member.month.value==6|document.member.month.value==9|document.member.month.value==11)
{
if(document.member.day.value>30)
{
alert("4月、6月、9月、11月都只有30天");
return false;
}
}
else
{
if (document.member.day.value>31)
{
alert("1月、3月、5月、七月、八月、十月、十二月都只有31天");
return false;
}
}

if(document.member.day.value>31|document.member.day.value<1)
{
alert("出生日應該在1-31之間")
return false;
}

member.submit();
}

</script>
<script src="backspace.js"
type="text/javascript">
</script>
<link rel="stylesheet" type="text/css" href="join.css"/>
</head>
<body>
<P align="center"> <img src="member.gif"></P>
<form name="member" method="post" action="update.php">
<table border="2" align="center" bordercolor="#6666ff">
<tr>
<td colspan="2">
請填入下列資料(標示「*」欄位請務必填寫)
</td>
</tr>
<tr>
<td>
*使用者帳號
</td>
<td>
<?=$row["account"] ?>
</td>
</tr>
<tr>
<td>
*使用者密碼
</td>
<td> <input name="password" type="password" size="15" value="<?=$row["password"]?>">
(請使用數字或英文鍵)
</td>
</tr>
<tr>
<td>
*密碼確認
</td>
<td><input name="repeat_password" type="password" size="15" value="<?=$row["password"]?>">
(再輸入一次密碼,並記下您使用者名稱與密碼)
</td>
</tr>
<tr>
<td>
*姓名
</td>
<td><input name="name" type="text" size="8" value="<?=$row["name"]?>">
</td>
</tr>
<tr>
<td>*性別:</td>
<td><input type="radio" name="sex" value="男" checked>

<input type="radio" name="sex" value="女">

</td>
</tr>
<tr>
<td>*生日:</td>
<td>民國
<input name="year" type="text" size="2" value="<?=$row["year"]?>">

<input name="month" type="text" size="2" value="<?=$row["month"]?>">

<input name="day" type="text" size="2" value="<?=$row["day"]?>">

</td>
</tr>
<tr>
<td>電話:</td>
<td>
<input name="telephone" type="text" size="20" value="<?=$row["telephone"]?>"></td>
</tr>
<tr>
<td>行動電話:</td>
<td>
<input name="cellphone" type="text" size="20" value="<?=$row["cellphone"]?>"></td>
</tr>
<tr>
<td >地址:</td>
<td >
<input name="address" type="text" size="45" value="<?=$row["address"]?>">
</td>
</tr>
<tr>
<td>E-mail 帳號:</td>
<td>
<input name="email" type="text" size="30" value="<?=$row["email"]?>">
</td>
</tr>
<tr>
<td>
個人網站:
</td>
<td>
<input name="url" type="text" value="http://"size="30" value="<?=$row["url"]?>">
</td>
</tr>
<tr>
<td>備註:</td>
<td>
<textarea name="comment" cols="45" rows="4"><?=$row["comment"]?>
</textarea>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="button" value="修改資料" onclick="point(),window.onbeforeunload=null;return true;" >
<input type="reset" value="重新填寫">
</td>
</tr>

</table>

</form>
</body>
</html>



<?php
//釋放資源 及關閉資料連接
mysql_free_result($result);
mysql_close($link);
}

?>

update.php
這程式是負責蒐集 <modify.php>傳出來的會員資料,然後更新再進資料庫
//檢查COOKIE變數passed是否等於true
$passed=$_COOKIE["passed"];


//如果不等於true

if ($passed!="TRUE")
{
header("location:index.html");
exit();
}
else
{
//取得modify.php的表單資料
$id=$_COOKIE["id"];
$password=$_POST["password"];
$name=$_POST["name"];
$sex=$_POST["sex"];
$year=$_POST["year"];
$month=$_POST["month"];
$day=$_POST["day"];
$telephone=$_POST["telephone"];
$cellphone=$_POST["cellphone"];
$address=$_POST["address"];
$email=$_POST["email"];
$url=$_POST["url"];
$comment=$_POST["comment"];



//建立資料連接
$link = mysql_connect("localhost","root");
if (!$link) die("建立資料庫失敗".mysql_error());

//開起資料表
$db_selected = mysql_select_db("member",$link);
if(!$db_selected) die("開啟資料庫失敗".mysql_error());


//執行update陳述 更新使用者資料

$sql ="UPDATE users SET password ='$password',name ='$name',sex ='$sex',year =$year,month=$month,day=$day,telephone ='$telephone', cellphone='$cellphone',address='$address',email='email',url='$url',comment='$comment' WHERE id=$id";
mysql_query("SET NAMES 'utf8'");
$result=mysql_query($sql,$link);

if(!$result) die ("執行失敗");


mysql_close($link);

}

?>
<!DOCTYPE html>
<html>
<head>
<title> </title>
<meta charset="UTF-8" name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<center>
<img src="member.gif"><br><br>
<?=$name ?>,恭喜你已經修改資料成功。
<p><a href="main.php">回會員專屬網頁</a></p>
</center>
</body>
</html>

搜尋相關Tags的文章: [ PHP求救,拜託啦,(急) ] ,
本篇文章發表於2016-03-16 01:18
1樓
作者回應

范仲綸
檢舉此回應
本篇文章回覆於2016-03-16 01:20
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
不錯的參考

彩虹
檢舉此回應
看不到你放的圖片...
你可以在具體說明一下是發生什麼問題嗎

所謂的無法順利更新進去資料庫,有出現bug嗎,或者只是沒有更新資料

另外記得善用程式碼標籤
本篇文章回覆於2016-03-16 09:11
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
最有價值解答

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
請善用程式標簽並做好縮排,建議你重po一下程式碼。因為你這樣po沒辦法告訴你第幾行。且又不易判讀

大約看一下你的程式碼。你可以在update.php內。先放入一個echo $sql;(因為沒程式標簽,就請自已去理解要放在哪)
查看一下下的sql命令是為何。借此理解一下問題在哪。

一般來講。如果沒錯誤訊息的話。我猜測是id=0。但因為沒id=0的資料,就沒更新動作。(但這不會報錯,只是不更新而已)
所以輸出一下sql命令看看就明白。
本篇文章回覆於2016-03-16 10:23
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

范仲綸
檢舉此回應
回2樓大大 抱歉 小弟第一次用這個 不太知道怎麼使用上面的功能



沒有BUG 就是更新不進去資料庫 假如我現在 註冊完畢了 然後 我點選我的修改會員資料 改完之後 送出 資料庫卻沒有變動
感恩
本篇文章回覆於2016-03-17 00:45
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

范仲綸
檢舉此回應
3樓大大 感謝你的指導 雖然不太知道怎麼用 但我用手動的把它排整齊點吧!

modify.php 點修改會員資料時 會連接到這個程式
程式碼如下
<?php
error_reporting(E_ALL ^ E_DEPRECATED);
header("Content-Type:text/html; charset=utf-8");
//檢查cookie變數passed 是否等於true
$passed=$_COOKIE["passed"];

//如果Cookie變數passed不等於true
//表示 尚未登入網站,重新導向到首頁

if($passed!="TRUE")

{
header("location:index.html");
exit();
}

//如果cookie變數passed=true
//表示已經登入,取得瀏覽者資料
else
{
$id=$_COOKIE["id"];


//建立資料連接
$link = mysql_connect("localhost","root");
if(!$link) die ("建立資料連接失敗");

//開啟資料庫

$db_selected =mysql_select_db("member",$link);
if(!$db_selected) die ("開啟資料庫失敗");


//執行select陳述 取得瀏覽者資料

$sql = "SELECT * FROM users WHERE id=$id";
mysql_query("SET NAMES 'utf8'");
$result = mysql_query($sql,$link);
if(!$result) die ("執行sql命令失敗".mysql_error());
$row = mysql_fetch_assoc($result);//把查詢資料存入陣列
?>
<!DOCTYPE html>
<html>
<head>

<meta charset="UTF-8" name="viewport" content="width=device-width, initial-scale=1.0">
<script language="javascript">
function point()
{



if(document.member.password.value.length==0)
{
alert("使用者密碼必須填寫唷!");
return false;
}
if(document.member.password.value.length>10)
{
alert("使用者密碼不可超過10個字元唷!");
return false;
}
if(document.member.repeat_password.value.length==0)
{
alert("(密碼確認)欄位忘了填寫唷");
return false;
}
if(document.member.password.value!=document.member.repeat_password.value)
{
alert("(密碼確認)欄位與(使用者密碼)欄位一定要相同唷");
return false;
}

if(document.member.name.value.length==0)
{
alert("您要留下真實姓名唷");
return false;

}
if(document.member.year.value.length!=4)
{
alert("(出生年)必須為西元四個數字");
return false;
}
if(document.member.month.value.length==0)
{
alert("(出生月)欄位沒填到唷");
return false;
}
if(document.member.month.value>12|document.member.month.value<1)
{
alert("(出生月)只能介於 1-12 之間唷!");
return false;
}
if(document.member.day.value.length==0)
{
alert("(出生日)欄位沒填到唷");
return false;
}
if(document.member.month.value==2&document.member.day.value>29)
{
alert("二月只有28天,最多29天");
return false;
}
if(document.member.month.value==4|document.member.month.value==6|document.member.month.value==9|document.member.month.value==11)
{
if(document.member.day.value>30)
{
alert("4月、6月、9月、11月都只有30天");
return false;
}
}
else
{
if (document.member.day.value>31)
{
alert("1月、3月、5月、七月、八月、十月、十二月都只有31天");
return false;
}
}

if(document.member.day.value>31|document.member.day.value<1)
{
alert("出生日應該在1-31之間")
return false;
}

member.submit();
}

</script>
<script src="backspace.js"
type="text/javascript">
</script>
<link rel="stylesheet" type="text/css" href="join.css"/>
</head>
<body>
<P align="center"> <img src="member.gif"></P>
<form name="member" method="post" action="update.php">
<table border="2" align="center" bordercolor="#6666ff">
<tr>
<td colspan="2">
請填入下列資料(標示「*」欄位請務必填寫)
</td>
</tr>
<tr>
<td>
*使用者帳號
</td>
<td>
<?=$row["account"] ?>
</td>
</tr>
<tr>
<td>
*使用者密碼
</td>
<td> <input name="password" type="password" size="15" value="<?=$row["password"]?>">
(請使用數字或英文鍵)
</td>
</tr>
<tr>
<td>
*密碼確認
</td>
<td><input name="repeat_password" type="password" size="15" value="<?=$row["password"]?>">
(再輸入一次密碼,並記下您使用者名稱與密碼)
</td>
</tr>
<tr>
<td>
*姓名
</td>
<td><input name="name" type="text" size="8" value="<?=$row["name"]?>">
</td>
</tr>
<tr>
<td>*性別:</td>
<td><input type="radio" name="sex" value="男" checked>

<input type="radio" name="sex" value="女">

</td>
</tr>
<tr>
<td>*生日:</td>
<td>民國
<input name="year" type="text" size="2" value="<?=$row["year"]?>">

<input name="month" type="text" size="2" value="<?=$row["month"]?>">

<input name="day" type="text" size="2" value="<?=$row["day"]?>">

</td>
</tr>
<tr>
<td>電話:</td>
<td>
<input name="telephone" type="text" size="20" value="<?=$row["telephone"]?>"></td>
</tr>
<tr>
<td>行動電話:</td>
<td>
<input name="cellphone" type="text" size="20" value="<?=$row["cellphone"]?>"></td>
</tr>
<tr>
<td >地址:</td>
<td >
<input name="address" type="text" size="45" value="<?=$row["address"]?>">
</td>
</tr>
<tr>
<td>E-mail 帳號:</td>
<td>
<input name="email" type="text" size="30" value="<?=$row["email"]?>">
</td>
</tr>
<tr>
<td>
個人網站:
</td>
<td>
<input name="url" type="text" value="http://"size="30" value="<?=$row["url"]?>">
</td>
</tr>
<tr>
<td>備註:</td>
<td>
<textarea name="comment" cols="45" rows="4"><?=$row["comment"]?>
</textarea>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="button" value="修改資料" onclick="point(),window.onbeforeunload=null;return true;" >
<input type="reset" value="重新填寫">
</td>
</tr>

</table>

</form>
</body>
</html>



<?php
//釋放資源 及關閉資料連接
mysql_free_result($result);
mysql_close($link);
}

?>
本篇文章回覆於2016-03-17 00:49
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

范仲綸
檢舉此回應
3樓大大 感謝你的指導 不好意思 不太知道標籤要怎麼使用
不介意的話 方便給我您的信箱嗎 我直接寄檔案過去方便嗎
感恩大大
本篇文章回覆於2016-03-17 00:52
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

范仲綸
檢舉此回應
0:update.php----------
1: 這程式是負責蒐集 <modify.php>傳出來的會員資料,然後更新再進資料庫
2://檢查COOKIE變數passed是否等於true
3: $passed=$_COOKIE["passed"];
4:
5:
6://如果不等於true
7:
8: if ($passed!="TRUE")
9: {
10: header("location:index.html");
11: exit();
12: }
13: else
14: {
15: //取得modify.php的表單資料
16: $id=$_COOKIE["id"];
17: $password=$_POST["password"];
18: $name=$_POST["name"];
19: $sex=$_POST["sex"];
20: $year=$_POST["year"];
21: $month=$_POST["month"];
22: $day=$_POST["day"];
23: $telephone=$_POST["telephone"];
24: $cellphone=$_POST["cellphone"];
25: $address=$_POST["address"];
26: $email=$_POST["email"];
27: $url=$_POST["url"];
28: $comment=$_POST["comment"];
29:
30:
31:
32://建立資料連接
33: $link = mysql_connect("localhost","root");
34: if (!$link) die("建立資料庫失敗".mysql_error());
35:
36://開起資料表
37: $db_selected = mysql_select_db("member",$link);
38: if(!$db_selected) die("開啟資料庫失敗".mysql_error());
39:
40:
41://執行update陳述 更新使用者資料
42:
43: $sql ="UPDATE users SET password ='$password',name ='$name',sex ='$sex',year =$year,month=$month,day=$day,telephone ='$telephone',
44: cellphone='$cellphone',address='$address',email='email',url='$url',comment='$comment' WHERE id=$id";
45: mysql_query("SET NAMES 'utf8'");
46: $result=mysql_query($sql,$link);
47:
48: if(!$result) die ("執行失敗");
49:
50:
51: mysql_close($link);
52:
53: }
54:
55:?>
56: <!DOCTYPE html>
57: <html>
58: <head>
59: <title> </title>
60: <meta charset="UTF-8" name="viewport" content="width=device-width, initial-scale=1.0">
61: </head>
62: <body>
63: <center>
64: <img src="member.gif"><br><br>
65: <?=$name ?>,恭喜你已經修改資料成功。
66: <p><a href="main.php">回會員專屬網頁</a></p>
67: </center>
68: </body>
69: </html>
本篇文章回覆於2016-03-17 01:14
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
作者回應

范仲綸
檢舉此回應
大大 小的已經成功解決問題了 感謝您們~~~ 因為小弟想去找 外面實習的工作 (目前大學生) 所以想說做一個簡單的網站當履歷表
本篇文章回覆於2016-03-17 01:23
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
我用過來人的身份跟一個面試官的身份來告訴你好了。

基本上,我並不會依做好的成品來做加分。原因如下

1.並不確定是否由本人去做。

2.做好的東西並不代表就是由你開發的。

但是~~~~有作品的情況下。的確可以先基礎了解你的功力大約到哪。
然後會依你的程式內的技術層面問一些問題。
借此來了解該作品是否是你做的。還是只是抄來的。
因為如果是你做的話,你一定了解堶接{式碼的意思。
抄來的就不會了解。

現在很多人的心態都是這樣,我也曾經碰上一個面試者說了一段話。「程式設計沒那麼困難吧?網路上找一堆改一改就好了」
我只會搖頭,請他另請高明吧。

這不代表我說只會copy網路上的東西是不好的。因為我也會copy並做改良修改。但copy有兩種意思。
一種是直接copy。能動就好。至於堶捧F什麼用的。我管他那麼多。可以跑就行了。
另一種也是copy,但對堶掖]計的東西都很清楚。copy只是為了節省開發時間。

今天如果是你過來我這邊應徵,拿了這樣一個產品給我看。
我一看就知道你是剛在學的。(但我不一定會打包票)
要知道師父有師父的價格。學徒有學徒的價格。

再來才會去看你的學習心態是如何的。(我不一定是初學者就不收)
當然學習心態不好的我還是會直接請他回家就是了。

當然各家公司是不一樣的。想拿這樣的成果。是否有加分。這看各公司了。
因為有時面試的人,並非一定是會寫程式的。所以也搞不好看你這樣的作品也會以為你很強趕快要你進去他公司也不一定。
(至少我就碰過這樣的人)

如有問題還想請教。可email給我或是skype給我
我兩個帳號都是一樣是 hstaryoching#gmail.com (請將#改掉,你懂的)
本篇文章回覆於2016-03-17 13:05
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
作者回應

范仲綸
檢舉此回應
謝謝大大的指導與指點,我讀的科系也是與這相關 想說 趁還沒畢業前 先多接觸了解這一塊,我的想法是假如有公司願意收我的話 我有個基礎這樣他們教起來也不會這麼吃力 我也不會都聽沒有
覺得上課能學到的東西實在是太少了QQ
我都會把看不懂得程式做一些筆記 讓我自己方便了解是在做什麼的(畢竟自己邏輯不是那麼好,就只能多了解一點)
最後還是要再謝謝大大的指導!!感恩!!
本篇文章回覆於2016-03-17 23:26
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.