Pereiti prie turinio

Rekomenduojami pranešimai

Sveiki visi, taigi iškilo problema su registracijos.php failiuko kur kreipiasi i mysql. Peržiūrėjau koda visa bet taip ir nesuprantu del ko man meta tuos erorus. Ši programa turėtu priregistruoti žmogu kuris irase savo username ir passworda i duomenu baze 'test'.

 

registracija.php

<?php
// tikrinama ar ivygdyta forma
if(isset($_POST['username']))
{
//Priskiriami kintamieji
$user = $_POST['username'];
$pass = $_POST['password'];
$pass2 = $_POST['password2'];
//tikrinam ar nera tusciu lauku
if($user<>"" AND $pass<>"" AND $pass2<>"")
{
if($pass==$pass2)
{
      if(strlen($pass)>=4)
   {
	  $con =mysql_connect('localhost', 'root', '');
	  if(!con)
	  {
		die("Could not connect:".mysql_error());  
	  }

	  mysql_select_db("test", $con);
	  $pass = md5($pass);
	  if(mysql_num_rows(mysql_query("select * from vartotojai where username = '$user'")))
	  {
		echo"Vartotojas uzimtas";  
	  }else{
		mysql_query("insert into vartotojai (id, username, password) VALUES('' , '$user' , '$pass')");  
	    echo"Sekmingai uzsiregistravote";
	  }
   }else{
	 echo"Slaptazodis per trumpas";  
   }

}else{
	echo"Slaptazodziai nesutampa";
}

}else{
 echo"Ne visi laukai 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>
<br>
<input type='submit' value='Registruotis'>
</form>

 

 

ir metami errorai:

<!-- saved from url=(0033)http://localhost/registracija.php -->
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><style></style></head><body><br>
<font size="1"><table class="xdebug-error xe-deprecated" dir="ltr" border="1" cellspacing="0" cellpadding="1">
<tbody><tr><th align="left" bgcolor="#f57900" colspan="5"><span style="background-color: #cc0000; color: #fce94f; font-size: x-large;">( ! )</span> Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\wamp64\www\registracija.php on line <i>16</i></th></tr>
<tr><th align="left" bgcolor="#e9b96e" colspan="5">Call Stack</th></tr>
<tr><th align="center" bgcolor="#eeeeec">#</th><th align="left" bgcolor="#eeeeec">Time</th><th align="left" bgcolor="#eeeeec">Memory</th><th align="left" bgcolor="#eeeeec">Function</th><th align="left" bgcolor="#eeeeec">Location</th></tr>
<tr><td bgcolor="#eeeeec" align="center">1</td><td bgcolor="#eeeeec" align="center">0.0010</td><td bgcolor="#eeeeec" align="right">245600</td><td bgcolor="#eeeeec">{main}(  )</td><td title="C:\wamp64\www\registracija.php" bgcolor="#eeeeec">...\registracija.php<b>:</b>0</td></tr>
<tr><td bgcolor="#eeeeec" align="center">2</td><td bgcolor="#eeeeec" align="center">0.0306</td><td bgcolor="#eeeeec" align="right">246152</td><td bgcolor="#eeeeec"><a href="http://www.php.net/function.mysql-connect" target="_new">mysql_connect</a>
(  )</td><td title="C:\wamp64\www\registracija.php" bgcolor="#eeeeec">...\registracija.php<b>:</b>16</td></tr>
</tbody></table></font>
<br>
<font size="1"><table class="xdebug-error xe-notice" dir="ltr" border="1" cellspacing="0" cellpadding="1">
<tbody><tr><th align="left" bgcolor="#f57900" colspan="5"><span style="background-color: #cc0000; color: #fce94f; font-size: x-large;">( ! )</span> Notice: Use of undefined constant con - assumed 'con' in C:\wamp64\www\registracija.php on line <i>17</i></th></tr>
<tr><th align="left" bgcolor="#e9b96e" colspan="5">Call Stack</th></tr>
<tr><th align="center" bgcolor="#eeeeec">#</th><th align="left" bgcolor="#eeeeec">Time</th><th align="left" bgcolor="#eeeeec">Memory</th><th align="left" bgcolor="#eeeeec">Function</th><th align="left" bgcolor="#eeeeec">Location</th></tr>
<tr><td bgcolor="#eeeeec" align="center">1</td><td bgcolor="#eeeeec" align="center">0.0010</td><td bgcolor="#eeeeec" align="right">245600</td><td bgcolor="#eeeeec">{main}(  )</td><td title="C:\wamp64\www\registracija.php" bgcolor="#eeeeec">...\registracija.php<b>:</b>0</td></tr>
</tbody></table></font>
Sekmingai uzsiregistravote
<form method="POST">
username <input type="text" name="username"><br>
Password <input type="password" name="password"><br>
Passwordx2 <input type="password" name="password2"><br>
<br>
<input type="submit" value="Registruotis">
</form></body></html>

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kazka bandziau bet nesigavo nors erroru nemeto.

<?php
// tikrinama ar ivygdyta forma
if(isset($_POST['username']))
{
//Priskiriami kintamieji
$user = $_POST['username'];
$pass = $_POST['password'];
$pass2 = $_POST['password2'];
//tikrinam ar nera tusciu lauku
if($user<>"" AND $pass<>"" AND $pass2<>"")
{
if($pass==$pass2)
{
      if(strlen($pass)>=4)
   {
	   $link = mysqli_connect("localhost", "root", "", "test");
	   if (mysqli_connect_errno()) {
          printf("Connect failed: %s\n", mysqli_connect_error());
          exit();
          }

	  $pass = md5($pass);
	  if(mysqli_fetch_row(mysqli_query($link,"select * from vartotojai where username = '$user'")))
	  {
		echo"Vartotojas uzimtas";  
	  }else{
		mysqli_query($link,"insert into vartotojai (id, username, password) VALUES('' , '$user' , '$pass')");  
	    echo"Sekmingai uzsiregistravote";
	  }
   }else{
	 echo"Slaptazodis per trumpas";  
   }

}else{
	echo"Slaptazodziai nesutampa";
}

}else{
 echo"Ne visi laukai 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>
<br>
<input type='submit' value='Registruotis'>
</form>

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Neveikia kaip ? Vistiek arba mysql error'as turi buti (nes id - '' negali būti) ar php error'as. Arba bent jau kurioje vietoje iš šių (Sekmingai uzsiregistravote, Ne visi laukai uzpildyti, ......) sustoja skripto vykdymas ?

 

Jeigu nepavyksta debug'inti, skripto viršuj pridėk:

<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);


....

 

taip pat php.ini nustatyk display_errors = On

Nuoroda į pranešimą
Dalintis kituose puslapiuose

O Dieve :ph34r:

 

Bent jau nerašyk if'ų if'ų if'uose, kaip pats susigaudai paskui tame?

 

$errors = [];

if( ! $username ) {
 $errors[] = 'Neįvestas vartotojo vardas.';
}
if( ! $password ) {
 $errors[] = 'Neįvestas slaptažodis.';
}

.... 

if( empty( $errors ) ) {
 //praėjo visas patikras - dedi į db
} else {
 var_dump( $errors );
}

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Sveiki visi, ačiū už jūsų patarimus ir kritika. Susitvarkiau šias bėdas. Labai ačiū už pagalba.

 

jei kam įdomu, įdedu ir padaryta kodą registracijos:

 

registracija.php

 

<?php

   define('DB_SERVER', 'localhost');
   define('DB_USERNAME', 'root');
define('DB_PASSWORD', '');
define('DB_DATABASE', 'test');
$db = mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE);
$msg = "";

if(isset($_POST['registracija']))
{
$user  = $_POST["username"];
$pass  = $_POST["password"];
   $pass2 = $_POST["password2"];

if($user<>"" AND $pass<>"" AND $pass2<>"")
{
if($pass==$pass2)
{
      if(strlen($pass)>=4)
   {

	$user = mysqli_real_escape_string($db, $user);
	$pass = mysqli_real_escape_string($db, $pass);
	$pass = md5($pass);

    $sql="SELECT username FROM vartotojai WHERE username='$user'";
	$result=mysqli_query($db,$sql);
	$row=mysqli_fetch_array($result,MYSQLI_ASSOC);
	if(mysqli_num_rows($result) == 1)
	{
	 $msg = "Atsiprasome... Sis vartotojo vardas jau egzistuoja, prasome pasirinkti kita";
	}
	else
	{
		$query = mysqli_query($db, "INSERT INTO vartotojai (username, password)VALUES ( '$user', '$pass')");
		if($query)
		{
	     $msg = "Jus sekmingai uzsiregistravote";
		}
	}
   }else{
	$msg = "Slaptazodis per trumpas turi buti bent 4 simboliu.";
   }

}else{
	$msg = "Slaptazodziai nesutampa";
}

}else{
 	$msg = "Ne visi laukai uzpildyti";
}
}
?>

<form method='POST'>
<tr>
<td colspan="2" align="center" class="error"><?php echo $msg;?></td>
</tr>
<br>
<h4>username</h4> 
<input type='text' name='username'>
<h4>Password</h4>
<input type='password' name='password'>
<h4>Passwordx2</h4> 
<input type='password' name='password2'>
<br></br>
<br></br>
<input type='submit' value='Registruotis'name="registracija">

</form>

Redagavo Justinas244
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...