2013-07-16 5 views
0

내가 PHP 프로그래밍에 익숙하지 않습니다. 나는 등록 페이지와 로그인 페이지를 만들었습니다. 사용자 이름과 암호를 사용하여 사용자가 로그인 할 때, 사용자 등록 세부 사항을 표시하고 싶습니다. 사용자 등록 세부 정보를 웹 페이지로 가져 오는 방법을 알고 싶습니다. .사용자 등록 세부 정보를 웹 페이지로 가져 오는 방법은 무엇입니까?

저는이 코드를 reg 및 login에 사용하고 있습니다.

<html> 
<title>Register Page</title> 
<script type="text/javascript"> 
function validateForm() 
{ 
var a=document.f.name.value; 
var b=document.f.pass.value; 
var c=document.f.email.value; 
var d=document.f.mobile.value; 
var e=document.f.sex.value; 

if ((a==null || a=="") && (b==null || b=="") && (c==null || c=="") &&  
    (d==null || d=="")) 
    { 
alert("All Field must be filled out"); 
return false; 
} 
if (a==null || a=="") 
{ 
alert("Username must be filled out"); 
return false; 
} 
if (b==null || b=="") 
{ 
alert("password must be filled out"); 
return false; 
} 
if (c==null || c=="") 
{ 
alert("Email must be filled out"); 
return false; 
} 
if (d==null || d=="") 
{ 
alert("Enter the mobile number"); 
return false; 
} 
if(e=="Select") 
{ 
alert("Please choose gender"); 
return false; 
} 



} 
</script> 
<style> 
#abc 
{ 
background-color:#FF3366; 
} 
</style> 
<body bgcolor="#0099CC"> 
<h1 id="abc"><center>Welcome to the register page</center></h1> 
<form name="f" action="regdb.php" method="post" onSubmit="return validateForm()"> 
<table align="center"> 
<tr><td>Fullname :&nbsp;<br><br></td><td><input type="text" name="name" id="name"> 
<br><br></td></tr> 

<tr><td>Password :&nbsp;<br><br></td><td><input type="password" name="pass" id="pass"> 
<br><br></td></tr> 
<tr><td>Email :&nbsp;<br><br></td><td><input type="text" name="email" id="email"> 
<br><br></td></tr> 
<tr><td>Mobile No:&nbsp;<br><br></td><td><input type="text" name="mobile" id="mobile"> 
<br><br></td></tr> 

<tr><td>Gender  :&nbsp;<br><br></td><td><select name="sex"><option>Select</option> 
            <option>Male</option> 
            <option>Female</option></select><br><br></td></tr> 
<tr><td></td><td><input type="submit" 
    value="register"></td></tr>            
</table> 
</form> 
</body> 
</html> 

Register_db 코드 : 로그인 코드에 대한

<?php 
$con=mysql_connect("localhost","root",""); 
if(!$con) 
{ 
die("could not connect:".mysql_error()); 
} 
mysql_select_db("manoj",$con); 

if (isset($_POST['name']) && isset($_POST['pass']) && isset($_POST['email']) && 
isset($_POST['mobile']) && isset($_POST['sex'])) 
{ 
//Prevent SQL injections 
$username = mysql_real_escape_string($_POST['name']); 
$email = mysql_real_escape_string($_POST['email']); 
$mobile = mysql_real_escape_string($_POST['mobile']); 
$sex = mysql_real_escape_string($_POST['sex']); 

//Get MD5 hash of password 
$password = $_POST['pass']; 
//Check to see if username exists 
$sql = mysql_query("SELECT name FROM register WHERE name = '".$username."'"); 
if (mysql_num_rows($sql)>0) 
{ 
echo "The username you have entered is already exist. Please try another username."; 
echo '<a href="reg.php">Try Again</a>'; 
exit; 
} 
mysql_query("INSERT INTO register (name, password, email,mobile,sex) VALUES ( 
'$username', '$password', '$email','$mobile','$sex')"); 
echo "Thank You for Registration."; 
echo '<a href="login.php">Click Here</a> to login you account.'; 
exit; 
} 
?> 

: Login_db 코드에 대한

<html> 
<head> 
<title>Php Simple Login Form</title> 

</head> 
<script type="text/javascript"> 
function validateForm() 
{ 
var a=document.f.username.value; 
var b=document.f.password.value; 

if ((a==null || a=="") && (b==null || b=="")) 
{ 
alert("All Field must be filled out"); 
return false; 
} 
if (a==null || a=="") 
{ 
alert("Username must be filled out"); 
return false; 
} 
if (b==null || b=="") 
{ 
alert("password must be filled out"); 
return false; 
} 

} 
</script> 
<style> 
#abc 
{ 
    background-color: #EFFBEF; 
    text-decoration: blink; 
    } 
#def 
{ 
    background-color:#00BFFF; 

} 

</style> 

<body bgcolor="#00BFFF"> 
<div id="containt" align="center"> 
<form name="f" action="logindb.php" method="post" onSubmit="return validateForm()"> 
<center><h1 id="abc">Welcome To My Page </h1></center> 
<div id="header"><h2 class="sansserif"> Login Here</h2></div> 
<table> 

    <tr> 
     <td>Enter Username:</td> 
     <td> <input type="text" name="username" size="20"></td> 
    </tr> 

    <tr> 
     <td>Enter Password:</td> 
     <td><input type="password" name="password" size="20"></td> 
    </tr> 
    <tr> 
     <td></td> 
     <td><input type="submit" value="Log In"></td> 

    </tr> 
</table> 
<b>Don't have an account,please click here&nbsp;<a href="reg.php">Sign Up</a> 
</b><br><br> 
</form> 
</div> 
</body> 
</html> 

:

<?php 

session_start(); 

$con=mysql_connect("localhost","root",""); 
if(!$con) 
{ 
die("could not connect:".mysql_error()); 
} 


mysql_select_db("manoj",$con); 


$username = $_POST["username"]; 
$password = $_POST["password"]; 

$match = "select id from register where name = '".$_POST['username']."' and password = 
'".$_POST['password']."'"; 
$qry = mysql_query($match); 

$num_rows = mysql_num_rows($qry); 

if ($num_rows<=0) 
{ 
echo "Incorrect username/password"; 
header('Location: login.php'); 
} 
else 
{ 
//have them logged in 
$_SESSION['user']= $_POST["username"]; 
header('Location: profile.php'); 
} 

?> 
01 등록 코드를

내가 로그인 사용자의 세부 정보를 검색하기 위해이 코드를 사용하고

<?php 
session_start(); 
echo "You are Welcome ". $_SESSION['user']; 
$con=mysql_connect("localhost","root",""); 
if(!$con) 
{ 
die("could not connect:".mysql_error()); 
} 
mysql_select_db("manoj",$con); 

$sql="select * from register where name = '".$_SESSION['user']."'"; 
$res=mysql_query($sql); 
echo "<table border='0'>"; 
while($r=mysql_fetch_array($res)) 
echo"<tr>"."<td>"."Name :"."</td>"."<td>".$r['name']."</td>"."</tr>"; 
echo"<tr>"."<td>"."Password :"."</td>"."<td>".$r['password']."</td>"."</tr>"; 
echo"<tr>"."<td>"."Email :"."</td>"."<td>".$r['email']."</td>"."</tr>"; 
echo"<tr>"."<td>"."Mobile Number :"."</td>"."<td>".$r['mobile']."</td>"."</tr>"; 
echo"<tr>"."<td>"."Gender :"."</td>"."<td>".$r['sex']."</td>"."</tr>"; 
echo "</table>"; 
echo"<p align='right'><a href='logout.php'>Logout</a></p>"; 
mysql_close($con); 
?>  

하지만 세부 사항을 표시 할 수 없습니다, 그것은 나를 도와 only.Please 사용자 이름을 표시합니다 23,516,

여기 내가 사용자 프로파일 정보 - profile.php를 표시하려합니다.

+0

실제 코드에서 들여 쓰기를 사용하고 싶다고 말 해주세요!?!? – screenmutt

+1

[읽기 가능한 코드] (http://net.tutsplus.com/tutorials/html-css-techniques/top-15-best-practices-for-writing-super-readable-code/)에서이 자습서를 읽으십시오. – screenmutt

답변

3

while 루프의 { } 구분 기호가 누락되었습니다.

echo "<table border='0'>"; 
while($r = mysql_fetch_array($res)) 
{ 
    // echo what you need 
} 
echo "</table>"; 

게다가, mysql_* 기능의 사용이되지 않습니다 당신이 mysqli_* 또는 PDO 사용을 고려해야합니다 : 같은

그것은해야합니다.

+0

당신은 나를 때렸어! – amaster

+0

+1 좋은 잡기. 아마 내가 가지고있는 것처럼 mysql_fetch_assoc을 추가해야합니다. 그 다음 오류가 될 것입니다. – Orangepill

+0

php.net에 따라 @Orangepill mysql_fetch_array ($ res)는 두 번째 변수가 기본값 인 MYSQL_BOTH와 함께 작동하여 assoc과 num을 제공합니다. – amaster

관련 문제