Parašė IGEN· 2012 Vas. 11 17:02:40
#1
<?php
include ("connect.php");
//tikrinima ar ivydyta forma
if(isset($_POST['username']))
{
//priskiariami kintamieji
$user = $_POST['username'];
$pass = $_POST['password'];
$pass2 = $_POST['password2'];
//tikrinama ar nera tusciu lauki
if($user<>"" AND $pass<>"" AND $pass2<>'')
{
// tikrinama ar vinodi spaltazodziai
if($pass==$pass2)
{
if(strlen($pass)>=4)
{
if(!$connect)
{
die("counld not connect:". mysql_error());
}
mysql_select_db("real", $connection);
$pass = md5($pass);
if(mysql_num_rows(mysql_query("select * from users where username = '$user'")))
{
echo "vartotojas uzimtas";
}else{
mysql_query("insert into users (uid, username, password) VALUES ('', '$user', '$pass')");
echo "Sekmingai uzsiregistravote.";
}
}else{
echo "Slaptazodis per trumpas";
}
}else{
echo "Slaptazodziai nesutampa";
}
}else{
echo "Ne visi laikai uzpildyti";
}
?>
<form method='POST'>
username <input type='text' name='username'><br>
password <input type='password' name='password'><br>
passwordx2 <input type='password' name='password2'><br>
<input type='submit' value='Register'>
</form>
Klaida: Parse error: syntax error, unexpected $end in C:\wamp\www\register.php on line 68
, o ta 68 eilute paskutinė..
Nesuprantu šitos klaidos.
Parašė Faitas.· 2012 Vas. 11 18:02:27
#3
Aš išviso patarčiau perdaryti tą skriptą į biški patogesnį:
<?php
if(isset($_POST['submit'])) {
include ("connect.php");
//Gaunam duomenis
$username = $_POST['username'];
$password = $_POST['password'];
$password2 = $_POST['password2'];
//Tikrinam ar nėra tušti laukai
$check = TRUE;
$msg = "";
if(empty($username)) {
$check = FALSE;
$msg .= "Tuščias vartotojo vardo laukas<br />";
}
if(empty($password)) {
$check = FALSE;
$msg .= "Tuščias slaptažodžio laukas<br />";
}
if(empty($password2)) {
$check = FALSE;
$msg .= "Tuščias antrojo slaptažodžio laukas<br />";
}
//Jei abu slaptažodžio laukai netušti, tikrinam ar jie sutampa
if(!empty($password) && !empty($password2)) {
if($password != $password2) {
$check = FALSE;
$msg .= "Slaptažodžiai nesutampa<br />";
}
}
//Jei vartotojo laukas netuščias, tikriname ar tokio vartotojo nėra
if(!empty($username)) {
$check_for_user = mysql_query("SELECT uid FROM users WHERE username = '$username'");
$check_for_user = mysql_num_rows($check_for_user);
if($check_for_user > 0) {
$check = FALSE;
$msg .= "Toks vartotojas jau egzistuoja<br />";
}
}
//Toliau tęsiame, jei viskas buvo užpildyta ir atitiko reikalavimus
if($check == TRUE) {
//Užkoduojame slaptažodį
$password = md5($password);
//Dedame vartotoją į duom.bazę
$insert_user = mysql_query("INSERT INTO users (username, password) VALUES ('$username', '$password')");
if($insert_user) {
echo "Vartotojas sėkmingai užregistruotas<br />";
}
else {
echo "Vartotojo užregistruoti nepavyko. Bandykite dar kartą<br />";
}
}
else {
//Išvedame kintamajį su klaidomis, nes registracija buvo su klaidomis
echo $msg;
}
}
?>
<form action='' method='POST'>
Vartotojo vardas: <input type='text' name='username'><br />
Slaptažodis <input type='password' name='password'><br />
Pakartoti slaptažodį <input type='password' name='password2'><br />
<input type='submit' value='Register' name='submit' />
</form>
Tiesiog pakeičiau tavo if'us į $check kintamąjį su BOOLEAN reikšme. Beje, tvarkingiau rašyk :D
Parašė avice· 2012 Vas. 11 20:02:19
#4
Sugaišau kelias minutes , bet padariau lengvesni bei paprastesni pavizdi is tavo kodo:
Nebandziau tad nezinau ar veiks.
<?php
if(isset($_POST['submit'])) {
include ("connect.php");
$username = $_POST['username'];
$password = $_POST['password'];
$password2 = $_POST['password2'];
//Tikrinam ar nėra tušti laukai
$msg = "";
$msg .= (empty($username) ? 'Tuščias vartotojo vardo laukas<br />' : '');
$msg .= (empty($password) ? 'Tuščias slaptažodžio laukas<br />' : '');
$msg .= (empty($password2) ? 'Tuščias antrojo slaptažodžio laukas<br />' : '');
$msg .= (!empty($password) && !empty($password2) && $password != $password2 ? 'Slaptažodžiai nesutampa<br />' : '');
if(!empty($username)) {
$check_for_user = mysql_query("SELECT uid FROM users WHERE username = '$username'");
$msg .= (mysql_num_rows($check_for_user) > 0 ? 'Toks vartotojas jau egzistuoja<br />' : '');
}
if(!$msg) {
//Užkoduojame slaptažodį
$password = md5($password);
//Dedame vartotoją į duom.bazę
$insert_user = mysql_query("INSERT INTO users (username, password) VALUES ('$username', '$password')");
echo ($insert_user ? 'Vartotojas sėkmingai užregistruotas<br />' : 'Vartotojo užregistruoti nepavyko. Bandykite dar kartą<br />');
}else{
echo $msg;
}
}
?>
<form action='' method='POST'>
Vartotojo vardas: <input type='text' name='username'><br />
Slaptažodis <input type='password' name='password'><br />
Pakartoti slaptažodį <input type='password' name='password2'><br />
<input type='submit' value='Register' name='submit' />
</form>
Redagavo avice· 2012 Vas. 11 20:02:23
Parašė IGEN· 2012 Vas. 17 13:02:12
#5
Noriu pasilikti prie savojo varianto, kad žinočiau kur viskas ir kaip randasi, nes jūsų kodai man sudetingi.
<?php
include ("connect.php");
//tikrinima ar ivydyta forma
if(isset($_POST['username']))
{
//priskiariami kintamieji
$user = $_POST['username'];
$pass = $_POST['password'];
$pass2 = $_POST['password2'];
}
//tikrinama ar nera tusciu lauki
if($user<>"" AND $pass<>"" AND $pass2<>"")
{
// tikrinama ar vinodi spaltazodziai
if($pass==$pass2)
{
if(strlen($pass)>=4)
{
if(!$connect)
{
die("counld not connect:". mysql_error());
}
mysql_select_db("real", $connect);
$pass = md5($pass);
if(mysql_num_rows(mysql_query("select * from users where username = '$user'")))
{
echo "vartotojas uzimtas";
}else{
mysql_query("insert into users (uid, username, password) VALUES ('', '$user', '$pass')");
echo "Sekmingai uzsiregistravote.";
}
}else{
echo "Slaptazodis per trumpas";
}
}else{
echo "Slaptazodziai nesutampa";
}
}else{
echo "Ne visi laikai uzpildyti";
}
?>
<form method='POST'>
username <input type='text' name='username'><br>
password <input type='password' name='password'><br>
passwordx2 <input type='password' name='password2'><br>
<input type='submit' value='Register'>
</form>
www.idoser.lt/69.png šita klaida, tai aš manau ją meta dėl to, kad vos tik įėjus jau tikrina ar laukeliai užpildyti.
Paryškinau kode tą eilute. Gal pagelbėsit kas?