Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Cu ce va aparati de cainii agresi...

Nu imi platiti coletul cu cardul ...

Mi-au disparut amigdalitele ?

Exista vreun plan de terorizare p...
 Schimbare adresa DNS IPv4 pe rout...

Recomandare Barebone

Monede JO 2024

Suprasolicitare sistem electric
 CIV auto import

Mutare in MOZAMBIC - pareri, expe...

Scoatere antifurt airtag de pe ha...

Magnet in loc de clește pent...
 Cumparat/Locuit in apartament si ...

Pot folosi sistemul PC pe post de...

Sokol cu distorsiuni de cross-over

Filtru apa potabila cu osmoza inv...
 

Afisare poza in panoul de control al utilizatorului logat

- - - - -
  • Please log in to reply
38 replies to this topic

#19
Andrey__

Andrey__

    Member

  • Grup: Members
  • Posts: 426
  • Înscris: 30.06.2012
Păi de unde vine $_SESSION['id'] și $_POST['id'] ? Le declari undeva ? Verifici în baza de date care e ultimul, sau cum faci ?

E inutil să dai numele userului -> numele imaginii, când poți foarte simplu să-i dai id-ul ultimului rând inserat în tabel. Te poate ajuta mysql_insert_id() Posted Image

Id-ul trebuie să fie pe auto_increment, iar codul ar trebui să arate așa :

$insert = mysql_query("INSERT INTO useri ( câmpuri ) VALUES ( valori )");
if($insert)
{
// codul tău
$uploadpath = $uploadpath . mysql_insert_id(). '.'. $type;
}


Nu pot să-mi dau seama exact ce cod ai pentru încărcarea imaginilor, dar la cum te pricepi, cred ca pot urca cu ușurință un fișier php pe serverul tău Posted Image

Edited by Andrey__, 12 November 2012 - 09:37.


#20
scapadeplictiseala

scapadeplictiseala

    Junior Member

  • Grup: Members
  • Posts: 88
  • Înscris: 09.11.2012
Eu nu am reusit sa fac acele modificari cum miai zis tu , cineva mia zis sa fac asa dar :
Cineva mia zis sa fac asa modificarile :
			Poza:<br>
		<?php
		
		$uploadpath = 'poza-profil/'; // directory to store the uploaded files
		$max_size = 5000; // maximum file size, in KiloBytes
		$alwidth = 5000; // maximum allowed width, in pixels
		$alheight = 5000; // maximum allowed height, in pixels
		$allowtype = array('jpg', 'jpe'); // allowed extensions
		
		if(isset($_FILES['fileup']) && strlen($_FILES['fileup']['name']) > 1) {
		$sepext = explode('.', strtolower($_FILES['fileup']['name']));
		$type = end($sepext); // gets extension
		
		include('conectare.php');
		$nume = strip_tags($_POST['nume']);	   // nume_utilizator
		$id = 0;	  // valoare initiala, in caz ca nu e gasit vreun "id"
		$sql = "SELECT `id` FROM `nume_tabel` WHERE `colona_nume`='$nume' LIMIT 1";
		// se face selectul si se preia ID-ul din randul returnat:
		//	$id = $row['id'];
		
		$uploadpath = $uploadpath . $id. '.'. $type; // gets the file name
		
		list($width, $height) = getimagesize($_FILES['fileup']['tmp_name']); // gets image width and height
		$err = ''; // to store the errors
		
		
		// Checks if the file has allowed type, size, width and height (for images)
		if(!in_array($type, $allowtype)) $err .= 'Poza: <b>'. $_FILES['fileup']['name']. '</b> nu are tipul de extensie acceptata - jpg sau jpe.';
		if($_FILES['fileup']['size'] > $max_size*1000) $err .= '<br/>Marimea maxima trebuie sa fie de: '. $max_size. ' KB.';
		if(isset($width) && isset($height) && ($width >= $alwidth || $height >= $alheight)) $err .= '<br/>Marimea maxima a inaltimii si latimii trebuie sa fie: '. $alwidth. ' x '. $alheight;
		
		// If no errors, upload the image, else, output the errors
		if($err == '') {
		if(move_uploaded_file($_FILES['fileup']['tmp_name'], $uploadpath)) {
		echo 'Poza incarcata cu succes';
		}
		else echo '<b>Poza nu a putut fi incarcata. Incearca alta poza.</b>';
		}
		else echo $err;
		}
		?>
		<input type="file" name="fileup" />
Dar mereu imi redenumeste poza 0.jpg (zero.jpg)




View PostAndrey__, on 12 noiembrie 2012 - 09:33, said:

Păi de unde vine $_SESSION['id'] și $_POST['id'] ? Le declari undeva ? Verifici în baza de date care e ultimul, sau cum faci ?

E inutil să dai numele userului -> numele imaginii, când poți foarte simplu să-i dai id-ul ultimului rând inserat în tabel. Te poate ajuta mysql_insert_id() Posted Image

Id-ul trebuie să fie pe auto_increment, iar codul ar trebui să arate așa :

$insert = mysql_query("INSERT INTO useri ( câmpuri ) VALUES ( valori )");
if($insert)
{
// codul tău
$uploadpath = $uploadpath . mysql_insert_id(). '.'. $type;
}


Nu pot să-mi dau seama exact ce cod ai pentru încărcarea imaginilor, dar la cum te pricepi, cred ca pot urca cu ușurință un fișier php pe serverul tău Posted Image

Edited by scapadeplictiseala, 13 November 2012 - 10:25.


#21
Andrey__

Andrey__

    Member

  • Grup: Members
  • Posts: 426
  • Înscris: 30.06.2012
Și mi se pare normal să-ți numească poza cu id-ul 0.

De fapt, nici nu știu de ce există $id=0, pentru că, în cazul în care nu este găsit nici un rând în baza de date (tabel), atunci, nu ar trebui să se uploadeze nimic.

Dar dacă așa consideri tu ca ar trebui creat un script... Oricum, problema e aici :

$sql = "SELECT `id` FROM `nume_tabel` WHERE `colona_nume`='$nume' LIMIT 1";
// se face selectul si se preia ID-ul din randul returnat:
// NU, nu se face nici un select pentru că eu nu văd nici o interogare, nimic !
// $id = $row['id'];


Poate ar trebui să arate cam așa :

$sql = mysql_query("SELECT id FROM nume_tabel WHERE colona_nume='$nume' LIMIT 1");
$sql = mysql_fetch_assoc($sql);
if(!empty($sql['id']))
{
	 $id = $sql['id'];
}


Edited by Andrey__, 13 November 2012 - 15:54.


#22
scapadeplictiseala

scapadeplictiseala

    Junior Member

  • Grup: Members
  • Posts: 88
  • Înscris: 09.11.2012
Ms moolt merge !
Mai am o problema cu poza de sus din panoul de control al utilizatorului :(
Nu mai e
<img src="/poza-profil/'.$_SESSION['nume'].'.jpg" border=1 width=100 height=120>
Trbuie sa fac ceva cu session nume sa fac sa ia id-u utilizatorului acolo :(

Edited by scapadeplictiseala, 13 November 2012 - 22:09.


#23
Andrey__

Andrey__

    Member

  • Grup: Members
  • Posts: 426
  • Înscris: 30.06.2012

View Postscapadeplictiseala, on 13 noiembrie 2012 - 22:03, said:

Ms moolt merge !
Mai am o problema cu poza de sus din panoul de control al utilizatorului Posted Image
Nu mai e
<img src="/poza-profil/'.$_SESSION['nume'].'.jpg" border=1 width=100 height=120>
Trbuie sa fac ceva cu session nume sa fac sa ia id-u utilizatorului acolo Posted Image

Eu te sfătuiesc ca, în momentul în care un user se autentifică corect, să setezi o sesiune cu tot ce conține rândul din tabel. Astfel că verificarea la autentificare o faci așa :

if(isset($_POST['submit']))
{
	  // Verifică dacă câmpurile sunt ok, securizezi, vezi ce caractere sunt permise, numărul de caractere, etc
	  // Faci o interogare SELECT user_id FROM useri where username='$_POST[username]' and password='$_POST['password']'
	  // Dacă s-a găsit un rând, atunci iei id-ul și-l pui în $_SESSION['user']
}

// Acum nu-ți rămâne decât să verifici dacă $_SESSION['user'] există, iar dacă există, iei tot rândul userului și-l salvezi într-un array
if(!empty($_SESSION['user']))
{
	   // SELECT * FROM useri where username='$_SESSION['user']'
	   // $user = mysql_fetch_assoc($query);
}

// Astfel, ai toate datele userului în array-ul $user și poți afișa ce vrei acolo unde vrei.
// $user['username'], $user['password'], $user['user_id'], $user['tara'], etc


Ai fi putut să faci o singură interogare inserând totul într-o sesiune, din prima, dar mi se pare mai ok să verifici mereu starea userului.

#24
scapadeplictiseala

scapadeplictiseala

    Junior Member

  • Grup: Members
  • Posts: 88
  • Înscris: 09.11.2012
Nam inteles nimic Posted Image
Parse error: syntax error, unexpected T_VARIABLE in /home/a7228878/public_html/logare.php on line 21
adica aici $query = 'SELECT * FROM membri where nume='$_SESSION['nume']';
<?php
require_once("conectare.php");
 
if(isset($_POST['submit']))
{
 
// verifica daca exista date transmise
if (isset($_POST['lnume']) && isset($_POST['lparola'])) {
 
// preia datele din formular
		 $nume = $_POST['lnume'];
		 $parola = md5($_POST['lparola']);
 
$query = "SELECT `id` FROM `membri` WHERE `nume` = '$nume' AND `parola` = '$parola'";
$result = mysql_query($query) or die ( "Error : ". mysql_error() );
 
}
 
if(!empty($_SESSION['nume']))
{
$query = 'SELECT * FROM membri where nume='$_SESSION['nume']';
$nume = mysql_fetch_assoc($query);
} ; 
 
 
if(isset($_SESSION['nume'])) {
echo '<table border=0 background=/imagini/fundal-login.png width=240 height=210><tr><td><center><a href=/iesire.php style="text-decoration:none">
<font size=4 color gray><b>Iesire</b></font></a></center></td><td>Logat</td></tr>
<tr><td><center>
<img src="/poza-profil/1.jpg" border=1 width=100 height=120></center></td><td>
<cine e online></a>
<br>
<a href=/profil.php style="text-decoration:none">Profil</a> <a href=/editare-profil.php style="text-decoration:none">(Editare profil)</a></td></tr></table>
';
}
else {
echo '<table border=0 background=/imagini/fundal-login.png width=240 height=210><tr><td>
<center><font size=4 color=gray><b>Logare</b></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 
<a href=/inregistrare.php STYLE="TEXT-DECORATION: NONE" title="Inscriete Acum!!!"><font size=3 color=green><b>Inscriete Acum!</b></font></a></center>
<br>
<form action="" method="post">
 
Utilizator:<br>
<input type=text name=lnume id=lnume><br><br>
Parola:<br>
<input type=password name=lparola id=lparola><br>
<a href=/recuperare-parola.php>Ai uitat parola?</a><br>
<div align=right><input type="submit" name="logare_btn" value="Intra" /></div></form>
</tr></td></table>';
}
?>
 



View PostAndrey__, on 13 noiembrie 2012 - 22:36, said:

Eu te sfătuiesc ca, în momentul în care un user se autentifică corect, să setezi o sesiune cu tot ce conține rândul din tabel. Astfel că verificarea la autentificare o faci așa :

if(isset($_POST['submit']))
{
	 // Verifică dacă câmpurile sunt ok, securizezi, vezi ce caractere sunt permise, numărul de caractere, etc
	 // Faci o interogare SELECT user_id FROM useri where username='$_POST[username]' and password='$_POST['password']'
	 // Dacă s-a găsit un rând, atunci iei id-ul și-l pui în $_SESSION['user']
}

// Acum nu-ți rămâne decât să verifici dacă $_SESSION['user'] există, iar dacă există, iei tot rândul userului și-l salvezi într-un array
if(!empty($_SESSION['user']))
{
	 // SELECT * FROM useri where username='$_SESSION['user']'
	 // $user = mysql_fetch_assoc($query);
}

// Astfel, ai toate datele userului în array-ul $user și poți afișa ce vrei acolo unde vrei.
// $user['username'], $user['password'], $user['user_id'], $user['tara'], etc


Ai fi putut să faci o singură interogare inserând totul într-o sesiune, din prima, dar mi se pare mai ok să verifici mereu starea userului.

Edited by scapadeplictiseala, 14 November 2012 - 13:30.


#25
Andrey__

Andrey__

    Member

  • Grup: Members
  • Posts: 426
  • Înscris: 30.06.2012
Ok. Varianta simplă.

$sql = mysql_query("SELECT user_id WHERE username='$_POST[username]' and password='$_POST['password']'");
if(mysql_num_rows($sql) == 1) {$user = mysql_fetch_assoc($sql); $_SESSION['user_id'] = $user['user_id'];}


Astfel, ai id-ul userului în $_SESSION['user_id'].

Dacă problema ta e atunci când userul uploadează poza, ți-am explicat deja.

#26
scapadeplictiseala

scapadeplictiseala

    Junior Member

  • Grup: Members
  • Posts: 88
  • Înscris: 09.11.2012
Eror : Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/a7228878/public_html/logare.php on line 12

<?php
require_once("conectare.php");
 
// verifica daca exista date transmise
if (isset($_POST['lnume']) && isset($_POST['lparola'])) {
 
		 // preia datele din formular
		 $nume = $_POST['lnume'];
		 $parola = md5($_POST['lparola']);
 
		 // formeaza si executa query-ul de select din baza de date
$sql = mysql_query("SELECT id WHERE nume='$_POST[nume]' and parola='$_POST['parola']'");
if(mysql_num_rows($sql) == 1) {$nume = mysql_fetch_assoc($sql); $_SESSION['id'] = $user['id'];}
 
		 $result = mysql_query($query) or die ( "Error : ". mysql_error() );
 
		 // verifica daca interogarea MySQL a gasit date valide
		 if (!$result || mysql_num_rows($result) < 1) {
						 // daca nu, afiseaza un mesaj de eroare
						 echo "Datele introduse sunt incorecte<br>
										 ";
		 } else {
		
						 // salveaza username-ul si parola in sesiune
						 $_SESSION['nume'] = strtolower($nume);
						 $_SESSION['parola'] = $parola;
 
						 // afiseaza un mesaj de succes		 
						 echo "<meta http-equiv='refresh' content='0; url=/' />";
		 }
}
;
if(isset($_SESSION['nume'])) {
echo '<table border=0 background=/imagini/fundal-login.png width=240 height=210><tr><td><center><a href=/iesire.php style="text-decoration:none">
<font size=4 color gray><b>Iesire</b></font></a></center></td><td>Logat</td></tr>
<tr><td><center>
<img src="/poza-profil/1.jpg" border=1 width=100 height=120></center></td><td>
<cine e online></a>
<br>
<a href=/profil.php style="text-decoration:none">Profil</a> <a href=/editare-profil.php style="text-decoration:none">(Editare profil)</a></td></tr></table>
';
}
else {
echo '<table border=0 background=/imagini/fundal-login.png width=240 height=210><tr><td>
<center><font size=4 color=gray><b>Logare</b></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 
<a href=/inregistrare.php STYLE="TEXT-DECORATION: NONE" title="Inscriete Acum!!!"><font size=3 color=green><b>Inscriete Acum!</b></font></a></center>
<br>
<form action="" method="post">
 
Utilizator:<br>
<input type=text name=lnume id=lnume><br><br>
Parola:<br>
<input type=password name=lparola id=lparola><br>
<a href=/recuperare-parola.php>Ai uitat parola?</a><br>
<div align=right><input type="submit" name="logare_btn" value="Intra" /></div></form>
</tr></td></table>';
}
?>

View PostAndrey__, on 14 noiembrie 2012 - 13:30, said:

Ok. Varianta simplă.

$sql = mysql_query("SELECT user_id WHERE username='$_POST[username]' and password='$_POST['password']'");
if(mysql_num_rows($sql) == 1) {$user = mysql_fetch_assoc($sql); $_SESSION['user_id'] = $user['user_id'];}


Astfel, ai id-ul userului în $_SESSION['user_id'].

Dacă problema ta e atunci când userul uploadează poza, ți-am explicat deja.


#27
Andrey__

Andrey__

    Member

  • Grup: Members
  • Posts: 426
  • Înscris: 30.06.2012
Așa ar trebui să meargă :

<?php
require_once("conectare.php");

// verifica daca exista date transmise
if (isset($_POST['lnume']) && isset($_POST['lparola']))
{
// preia datele din formular
$_POST['lnume'] = mysql_real_escape_string($_POST['lnume']);
$_POST['lparola'] = md5(mysql_real_escape_string($_POST['lparola']));

// formeaza si executa query-ul de select din baza de date
$sql = mysql_query("SELECT id WHERE nume='$_POST[lnume]' and parola='$_POST[lparola]' LIMIT 1");
if(mysql_num_rows($sql) == 1)
{
  $user = mysql_fetch_assoc($sql);
  $_SESSION['id'] = $user['id'];
  header('Location: /');
}
else
{
  echo 'Datele introduse sunt incorecte !';
}
}
if(isset($_SESSION['id']) && is_numeric($_SESSION['id']))
{
echo <<<HTML
<table border=0 background=/imagini/fundal-login.png width=240 height=210>
  <tr>
   <td align="center">
	<a href=/iesire.php style="text-decoration:none"><font size=4 color gray><b>Iesire</b></font></a>
   </td>
   <td>
	Logat
   </td>
  </tr>
  <tr>
   <td align="center">
	<img src="/poza-profil/1.jpg" border=1 width=100 height=120>
   </td>
   <td>
	cine e online
	<br />
	<a href=/profil.php style="text-decoration:none">Profil</a>
	<a href=/editare-profil.php style="text-decoration:none">(Editare profil)</a>
   </td>
  </tr>
</table>
HTML;
}
else
{
echo <<<HTML
<table border="0" background="/imagini/fundal-login.png" width="240" height="210">
  <tr>
   <td align="center">
	<font size=4 color=gray><b>Logare</b></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	<a href=/inregistrare.php STYLE="TEXT-DECORATION: NONE" title="Inscriete Acum!!!">
	<font size=3 color=green><b>Inscriete Acum!</b></font></a>
	<br />
	<form action="" method="post">
	 Utilizator:<br>
	 <input type=text name=lnume id=lnume><br><br>
	 Parola:<br>
	 <input type=password name=lparola id=lparola><br>
	 <a href=/recuperare-parola.php>Ai uitat parola?</a><br>
	 <div align=right><input type="submit" name="logare_btn" value="Intra" /></div>
	</form>
   </td>
  </tr>
</table>
HTML;
}



#28
scapadeplictiseala

scapadeplictiseala

    Junior Member

  • Grup: Members
  • Posts: 88
  • Înscris: 09.11.2012
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/a7228878/public_html/logare.php on line 13
Linia 13:   if(mysql_num_rows($sql) == 1)

Edited by scapadeplictiseala, 14 November 2012 - 15:15.


#29
Andrey__

Andrey__

    Member

  • Grup: Members
  • Posts: 426
  • Înscris: 30.06.2012
Frate... ai un câmp numit id în tabelul userilor ?

#30
scapadeplictiseala

scapadeplictiseala

    Junior Member

  • Grup: Members
  • Posts: 88
  • Înscris: 09.11.2012
Da frate am :( ....
Dar nu stiu ce are de nu merge :(

View PostAndrey__, on 14 noiembrie 2012 - 15:17, said:

Frate... ai un câmp numit id în tabelul userilor ?


#31
Andrey__

Andrey__

    Member

  • Grup: Members
  • Posts: 426
  • Înscris: 30.06.2012
Din codul meu, înlocuiește linia 12 cu :

$sql = mysql_query("SELECT `id` FROM `membri` WHERE nume='$_POST[lnume]' and parola='$_POST[lparola]' LIMIT 1");

Edited by Andrey__, 14 November 2012 - 20:43.


#32
scapadeplictiseala

scapadeplictiseala

    Junior Member

  • Grup: Members
  • Posts: 88
  • Înscris: 09.11.2012
Ms moooooooooolt de tot , merge

View PostAndrey__, on 14 noiembrie 2012 - 20:43, said:

Din codul meu, înlocuiește linia 12 cu :

$sql = mysql_query("SELECT `id` FROM `membri` WHERE nume='$_POST[lnume]' and parola='$_POST[lparola]' LIMIT 1");


#33
scapadeplictiseala

scapadeplictiseala

    Junior Member

  • Grup: Members
  • Posts: 88
  • Înscris: 09.11.2012
Merge sa am 2 sesiuni, si session nume si session id ? Posted Image Posted Image Posted Image

View PostAndrey__, on 14 noiembrie 2012 - 20:43, said:

Din codul meu, înlocuiește linia 12 cu :

$sql = mysql_query("SELECT `id` FROM `membri` WHERE nume='$_POST[lnume]' and parola='$_POST[lparola]' LIMIT 1");


#34
Andrey__

Andrey__

    Member

  • Grup: Members
  • Posts: 426
  • Înscris: 30.06.2012

View Postscapadeplictiseala, on 15 noiembrie 2012 - 13:21, said:

Merge sa am 2 sesiuni, si session nume si session id ? Posted Image Posted Image Posted Image

Merge.

if(mysql_num_rows($sql) == 1)
{
$user = mysql_fetch_assoc($sql);
$_SESSION['id'] = $user['id'];
$_SESSION['nume'] = $_POST[lnume];
header('Location: /'); exit();
}


Edited by Andrey__, 15 November 2012 - 13:31.


#35
scapadeplictiseala

scapadeplictiseala

    Junior Member

  • Grup: Members
  • Posts: 88
  • Înscris: 09.11.2012
ms merge.
O intrebare
Daca mam mutat pe alt host cat timp face figuri site-ul  ca sa nu iti mearga ?
Eu lam mutat azi pe la 11 , pe la 1 juma mergea , iar acum nu mai merge .

View PostAndrey__, on 15 noiembrie 2012 - 13:31, said:

Merge.

if(mysql_num_rows($sql) == 1)
{
$user = mysql_fetch_assoc($sql);
$_SESSION['id'] = $user['id'];
$_SESSION['nume'] = $_POST[lnume];
header('Location: /'); exit();
}



#36
Andrey__

Andrey__

    Member

  • Grup: Members
  • Posts: 426
  • Înscris: 30.06.2012

View Postscapadeplictiseala, on 15 noiembrie 2012 - 14:20, said:

Eu lam mutat azi pe la 11 , pe la 1 juma mergea , iar acum nu mai merge .

Până se propagă dns-urile e normal să meargă și să nu mai meargă. Dacă treaba asta este insistentă, atunci, poate că hostul e o problemă.

Anunturi

Chirurgia cranio-cerebrală minim invazivă Chirurgia cranio-cerebrală minim invazivă

Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne.

Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate