나는 php/mysql에서 새롭다. 나의 질문이 어리석은 경우에 유감스럽게 생각한다. 나는 등록/로그인/로그 아웃 시스템을 PHP와 MySQL로 만들려고하고있다. 내 기술이 좋지 않아 프로그래머가 아니므로 웹에서 찾은 스크립트를 변경하려고했습니다. 그것은 파일, index.php을 포함, PHP를 활성화합니다. login.php, logout.php, register.php.php/mysql을 가진 등록 시스템 : 사용자를 찾을 수 없다
주어진 예제를 시도했을 때 좋았지 만 사용자가 이름, 성 등 등록자에 더 많은 값을 추가하고 사용자 이름, 비밀번호 및 이메일뿐만 아니라 값을 많이 추가했기 때문에 코드가 상당히 바뀌 었습니다. . 그래서 코드를 변경하고 mysql 데이터베이스에서 더 많은 열을 추가했습니다. 지금은 t 작업을 수상, 그는 t가 로그인 '내가 활성화하려고 나는 또한 수있을 때 t이 사용자를 찾을 수'는 수 있다고
의 index.php :.가 HTML 양식을 가지고 있으며, 요청하는 매우 간단한 파일입니다
<?php session_start(); ?>
<html>
<body>
<?php
if(isset($_POST["user"])){
$con = mysql_connect("localhost","root","password");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("myapp", $con);
$sql = "SELECT * FROM `users` WHERE `user` LIKE '". mysql_real_escape_string($_POST["user"])
."' AND ".
"`pass` LIKE MD5('". mysql_real_escape_string($_POST["pass"])
."') AND ".
"`active` = 'DONE'";
$result = mysql_query($sql);
$found = 0;
while ($row = mysql_fetch_array($result)) {
if ($row[1]==$_POST["user"]) {
$found = 1;
}
}
if ($found) {
$_SESSION["USER"] = $_POST["user"];
?>Thank you for logging in<?
}
else {
?>User/Pass is wrong!<?
}
mysql_close($con);
}
else {
?>
Please log-in:<br/>
<form action="login.php" method="POST">
User: <input type="text" name="user"><br />
Pass: <input type="password" name="pass"><br />
<input type="submit" />
</form>
<?php
}
?>
: 단순히 세션을
login.php 설정을 해제 : 그는 또한 로그인 또는 등록을 원하고있는 경우 알 수없는 사용자는
이 logout.php 세션을 시작합니다
register.php :
<?php session_start(); ?>
<html>
<body>
<?php
if(isset($_POST["user"])){
$con = mysql_connect("localhost","root","password");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("myapp", $con);
$random = rand();
$sql = "INSERT INTO `myapp`.`users` (`id`, `user`, `pass`, `active`, `firstname`, `lastname`, `mail`) ".
" VALUES (NULL, '". mysql_real_escape_string($_POST["user"])
."', MD5('".mysql_real_escape_string($_POST["pass"])
."'), '".mysql_real_escape_string($random)
."'), '".mysql_real_escape_string($_POST["firstname"])
."'), '".mysql_real_escape_string($_POST["lastname"])
."')'".mysql_real_escape_string($_POST["mail"])
."');";
mysql_query($sql);
mysql_close($con);
$message = "Please put this url http://localhost/mypage/activate.php?active=" . $random . " in your browser to activate your account.";
@mail($_POST["mail"], 'Thank you for registering', $message);
?>Thank you <?php echo $_POST["user"]; ?> we send you a confirmation e-mail in <?php echo $_POST["mail"]; ?><?php
echo $message;
}
else {
?>
Please register:<br/>
<form action="register.php" method="POST">
User: <input type="text" name="user"><br />
Pass: <input type="password" name="pass"><br />
firstname:<input type="text" name="firstname"><br />
lastname:<input type="text" name="lastname"><br />
mail: <input type="text" name="mail"><br />
<input type="submit" />
</form>
<?php
}
?>
activate.php :
<?php session_start(); ?>
<html>
<body>
<?php
if(isset($_GET["active"])){
$con = mysql_connect("localhost","root","password");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("myapp", $con);
$sql = "SELECT * FROM `users` WHERE `active` LIKE '".
mysql_real_escape_string($_GET["active"])."'";
$result = mysql_query($sql);
$found = 0;
while ($row = mysql_fetch_array($result)) {
$found = 1;
}
if ($found) {
$sql = "UPDATE `users` SET `active` ='DONE'";
$result = mysql_query($sql);
?>Thank you for activating<?
}
else {
?>Can't find user!<?
}
mysql_close($con);
}
else {
?>Invalid activation<?php
}
?>
</body>
</html>
어떤 도움이 될 것이다 환영 해 주셔서 감사합니다. 긴 게시물을 유감스럽게 생각합니다 !!^_^
확인을, 나는 이해! 고맙습니다!! :) – ElaGorilaki
고대의'mysql_ *'함수로 새로운 코드 작성을 중단하십시오. 더 이상 유지 관리되지 않으며 커뮤니티에서 [지원 중단 프로세스] (http://goo.gl/KJveJ)를 시작했습니다. 대신 [prepared statements] (http://goo.gl/vn8zQ)에 대해 알아야하고 [PDO] (http://php.net/pdo) 또는 [MySQLi] (http://php.net/)를 사용해야합니다. mysqli). 결정할 수없는 경우 [이 기사] (http://goo.gl/3gqF9)를 선택하면 도움이됩니다. 당신이 배우고 싶다면 [여기 PDO 관련 튜토리얼] (http://goo.gl/vFWnC)을 참조하십시오. –