Lieta tāda, sen jau programmēju, bet šodien izlēmu pamācīties PHP. Kā, nekā vajadzīga lieta mūsdienu programmētājam. Nokačāju visu, sastādīju un sāku kodēt. Bet ir pāris jautājumi.
1. Kāds PHP editors ir pietiekoši labs un populārs. Pašlaik lietoju VS.PHP kas ir kā komponents Visual Studio 2008. Man pierastā vidē vienkārši gribējās kodēt. Bet vatbūt ir kādi daudz labāki par šo? Vairāk: http://www.jcxsoftware.com/vs.php
2. Šo daļu es nevarēju izdomāt un uzprasīju draugam. Viņš kaut kur aizskrēja un nepaskaidroja kāpēc viņš izmantoja mysql_real_escape_string. Kāpēc? :)
$result = mysql_query('SELECT * FROM users WHERE login = "'.mysql_real_escape_string($login) .'" OR email = "'.mysql_real_escape_String($email) .'"');
if (mysql_num_rows($result) == true)
3. Vai šāds kods ir derīgs? Itkā jau ir kā ir, bet varbūt kaut kur ir pielaistas rupjas kļūdas vai arīto pašu var izdarīt daudz ērtāk un produktīvāk? Lūdzu.
db_config.php
<?php
////////////////
//Database info
$db_host = "localhost";
$db_user = "mansjuzeris";
$db_pass = "manaparolle";
$db_name = "manadatubaze;
/////////////
//Connection
$connection = mysql_connect($db_host, $db_user, $db_pass) or die("Cannot connect to Database!");
mysql_select_db($db_name, $connection) or die("Cannot open Database!");
?>
register.php
<?php
require("db_config.php");
////////////////////
//Writing variables
$date = date('Ymd');
$login = $_POST["username"];
$password = $_POST["password"];
$email = $_POST["email"];
$first_name = $_POST["first_name"];
$last_name = $_POST["last_name"];
$form_submitted = $_POST["form_submitted"];
////////////////////////////////
//Checking if form is submitted
if ($form_submitted == true)
{
//////////////////////////////////////
//Checking if the variables are empty
if ($login && $password && $email && $first_name && $last_name != "")
{
/////////////////////////////
//Checking if the username/email already exists
$result = mysql_query('SELECT * FROM users WHERE login = "'.mysql_real_escape_string($login) .'" OR email = "'.mysql_real_escape_String($email) .'"');
if (mysql_num_rows($result) == true)
{
echo "User/Email already exists!";
}
else
{
///////////////////
//Registering user
$query = "INSERT INTO users VALUES ('NULL', '$login', '$password', '$email', '$first_name', '$last_name', '$date')";
$result = mysql_query($query, $connection) or die(mysql_error());
}
}
}
?>
<form action="register.php" method="POST">
Username: <input type="text" name="login"> <br>
Password: <input type="password" name="password"> <br>
Email: <input type="text" name="email"> <br>
Name: <input type="text" name="first_name"> <br>
Surname: <input type="text" name="last_name"> <br>
<input type="submit" value="Register">
<input type="hidden" name="form_submitted" value="yes">
</form>
index.php
<?php
require("db_config.php");
////////////////////
//Writing variables
$login = $_POST["username"];
$password = $_POST["password"];
$form_submitted = $_POST["form_submitted"];
////////////////////////////////////
//Checking if the form is submitted
if ($form_submitted == true)
{
/////////////////////////////////////////
//Checking if there is something entered
if ($login && $password != "")
{
///////////////////////////////////////////
//Checking if the values exist in database
$result = mysql_query("SELECT * FROM users WHERE login='" . $login . "' AND password='" . $password . "'");
if (mysql_num_rows($result) == true)
echo "You are logged in!";
else
echo "Login or/and Password are incorrect!";
}
}
?>
<form action="index.php" method="POST">
Username: <input type="text" name="username"> <br>
Password: <input type="password" name="password"> <br>
<input type="submit" value="Login">
<input type="hidden" name="form_submitted" value="yes">
</form>
Ceru, ka palīdzēsiet.