Pagina 1 din 1
Redenumire poza incarcata cu nume utilizator
Scris: Sâm Noi 10, 2012
de cadou
Am un cod de incarcare poza pe site, merge ok.
Vreau ca poza incarcata sa poarte denumirea numelui de utilizator care se inregistreaza pe site si incarca poza.
In formularul de inregistrare am si incarcare poza .
Acesta e codul pentru incarcare poza care il folosesc la formularul de inregistrare
Vreau ca poza sa se numeasca "numeutilizator.jpg" sau "numeutilizator" fara extensie.
Cod: Selectaţi tot
<?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) {
$uploadpath = $uploadpath . basename($nume.$_FILES['fileup']['name']); // gets the file name
$sepext = explode('.', strtolower($_FILES['fileup']['name']));
$type = end($sepext); // gets extension
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" />
Redenumire poza incarcata cu nume utilizator
Scris: Sâm Noi 10, 2012
de MarPlo
Daca numele de utilizator e retinut intr-o sesiune, incearca sa inlocuiesti linia asta:
Cod: Selectaţi tot
$uploadpath = $uploadpath . basename($nume.$_FILES['fileup']['name']);
Cu asta:
Redenumire poza incarcata cu nume utilizator
Scris: Dum Noi 11, 2012
de cadou
Pana la urma am rezolvat, am folosit numele preluat din formular; in loc de Session , $_POST['nume'] .
Dar imi trimite fara extensie, cum fac sa trimita si extensia .jpg ,adica sa fie numele pozei : "numeutilizator.jpg".
2. Cum fac sa afisez poza in functie de utilizatorul logat ?
Redenumire poza incarcata cu nume utilizator
Scris: Dum Noi 11, 2012
de MarPlo
Ca sa adaugi extensia la nume, trebuie sa modifici putin in codul tau, sa definesti $ulpoadpath dupa $type (care contine extensia), si apoi se adauga $type la $uploadpath.
Sa fie asa:
Cod: Selectaţi tot
$sepext = explode('.', strtolower($_FILES['fileup']['name']));
$type = end($sepext); // gets extension
$uploadpath = $uploadpath . $_POST['nume']. '.'. $type; // gets the file name
2. Daca numele e retinut in $_SESSION['nume'], se poate afisa imaginea cam asa:
Cod: Selectaţi tot
if(isset($_SESSION['nume'])) echo '<img src="dir_imagini/'. $_SESSION['nume']. '.jpg" alt="'. $_SESSION['nume']. '" />';
else echo '<img src="dir_imagini/poza_pt_nelogat.jpg" alt="Ne-logat" />';
Redenumire poza incarcata cu nume utilizator
Scris: Lun Noi 12, 2012
de cadou
Daca fac cu nume am descoperit o mica problema, cum fac ca numele pozei sa fie Id-ul unic din tabel cel de auto increment.
Am incercat asa :
Cod: Selectaţi tot
$uploadpath = $uploadpath . $_SESSION['id']. '.'. $type;
Dar nu e definit $_SESSION['id']
Am mai incercat si:
Cod: Selectaţi tot
$uploadpath = $uploadpath . $_POST['id']. '.'. $type;
La fel zice ca nu e definit.
Redenumire poza incarcata cu nume utilizator
Scris: Lun Noi 12, 2012
de MarPlo
Daca vrei sa folosesti ID-ul utilizatorului din baza de date in loc de nume, la imaginea incarcata, logic ca trebuie intai sa preiei ID-ul din tabelul bazei de date inainte de a defini numele pt. imagine, apoi il adaugi in imagine.
Un model scurt pe care sa-l dezvolti e asa:
Cod: Selectaţi tot
// conectare la mysql
$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;
// ...
Redenumire poza incarcata cu nume utilizator
Scris: Lun Noi 12, 2012
de cadou
Toate pozele mi le redenumeste 0.jpg (zero.jpg)
In baza de date ultimul id este 140.
Uite cum arata codu meu :
Parerea mea la randul $id=0 trebuie definit altfel, daca stiam cum il defineam eu. Asa el mereu pune valoarea 0.
Cod: Selectaţi tot
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 `membri` WHERE `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" />
Redenumire poza incarcata cu nume utilizator
Scris: Mar Noi 13, 2012
de MarPlo
In exemplu dat ca model in raspunsul anterior trebuie inlocuite comentariile (cele cu "// ..."), cu ceea ce se precizeaza in ele.
Deci, trebuie si in loc de:
Cod: Selectaţi tot
// se face selectul si se preia ID-ul din randul returnat:
// $id = $row['id'];
sa pui codul care trimite Select-ul la MySQL si preia datele din rezultatul primit.
- Daca nu stii cum, te ajuta lectiile din Cursul PHP de pe site, vezi aicii:
Utilizarea bazelor de date folosind PHP.
Redenumire poza incarcata cu nume utilizator
Scris: Mie Noi 14, 2012
de cadou
La logare cum fac sa imi preia id-u din baza de date si sa il afisez acolo la imagine ?
Cod: Selectaţi tot
<?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
$query = "SELECT * FROM `membri` WHERE `nume` = '$nume' AND `parola` = '$parola'";
$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/aici-id-u-utilizatorului.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>
<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>';
}
?>
Re: Redenumire poza incarcata cu nume utilizator
Scris: Joi Noi 15, 2012
de archemorus
Poti sa salvezi in
, id-ul utilizatorului.
Ceva asemanator cu:
Acum te las pe tine sa vezi unde pui instructiunea asta ca sa iti mearga treaba.
Poti sa faci si un SELECT separat pentru asta,daca o sa pui avatarul utilizatorului doar in pagina de profil.Daca vrei sa afisezi avatarul utilizatorului in fiecare pagina a site-ului,poti sa il salvezi in
ca sa nu fie nevoie sa faci in fiecare pagina un SELECT pentru a afla id-ul .
Bafta!
Redenumire poza incarcata cu nume utilizator
Scris: Sâm Dec 01, 2012
de cadou
De ce imi continua numaratoarea la id auto increment , adica :
eu am 10 inregistrari, apoi aleg sa sterg inregistrarea cu numaru 10, apoi adaug alta inregistrare, mie pe cea noua o numeroteaza cu 11 in loc de 10 , de ce ?
Cod: Selectaţi tot
$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
$nume = strip_tags($_POST['nume']); // nume_utilizator
$id = 0; // valoare initiala, in caz ca nu e gasit vreun "id"
$sql = mysql_query("SELECT id FROM membri WHERE nume='$nume' LIMIT 1");
$sql = mysql_fetch_assoc($sql);
if(!empty($sql['id']))
{
$id = $sql['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 '';
}
else echo '<b>Poza nu a putut fi incarcata. Incearca alta poza.</b>';
}
else echo $err;
}