Pagina 1 din 1

Link-uri pentru pagina fiecarui utilizator

Scris: Lun Apr 08, 2013
de cata1241
Buna ziua tuturor
Sunt un incepator in domeniul programrii web, dar am reusit sa invat cat de cat php si mysql(html si css am invatat deja.
Am reusit singur fara sa copiez nimic sa fac un script de login,register si logout care functioneaza perfect, insa inca mai invat cum sa previn diferite incercari idioate ale hackerilor.
Am nevoie, bine inteles daca si voi vreti sa ma ajuati, vreau sa fac ca in momentul in care fiecare user se inregistreaza sa aiba propiul profil de link care mai apoi sa apara sa zicem intr-un "memberlist", dar doar cu link-uri care vor duce la pagina lor de profil.
M-am gandit sa folosesc metoda "GET" pentru ca creeaza in url o diferita infatisare , cum ar fi chiar linkul pagini de profil, de exemplu:
nume.ro/profilpage?mode=get"&username=ion
Cam in genul asta, si m-am mai gandit sa preiau linkul din url si sa il memorez sa zicem in baza de date ca mai apoi sa apara pe memberlist si fiecare user care vrea sa vada profilul altui user sa dea clic pe link si sa ajunga pe pagina de profil (aici vor fi anumite restricti).
Stiu in teorie sa zicem, dar nu stiu prea bine in practica. Daca ma ajutati si pe mine, daca se poate cu pseudocod ca vreau sa fac totul singur, ca altfel ce rost mai are sa invat daca copiez.
Va multumesc tuturor.

Link-uri pentru pagina fiecarui utilizator

Scris: Lun Apr 08, 2013
de MarPlo
Salut,
Nu ai specificat exact unde anume in ceea ce vrei sa faci nu te descurci?
Odata ce ai utilizatorii inregistrati in baza de date, faci un select, si creezi un array in care retii id-ul si numele fiecarui utilizator. Eventual poti folosi clasa de paginare de la sectiunea Scripturi din Cursul PHP-MySQL ca sa faci select-ul paginat; necesar cand sunt sute si mii de inregistrari.
Apoi, in sectiunea "memberlist" afisezi datele din acel array.
Cam asa:

Cod: Selectaţi tot

$users = array();        // va contine array-uri cu id si nume user
// se face select-ul, indicat cu o clasa de paginare
// se parcurg datele selectate si se adauga id si nume in $users
while(....) {
  $users[] = array('id'=>$row['id'], 'name'=>$row['coloana_nume']);
}

// in sectiunea "memberlist" se creaza link-urile
$nrusers = count($users);
// daca sunt date in $users, le parcurge si creaza link
if($nrusers > 0) {
  for($i=0; $i<$nrusers; $i++) {
    echo '<a href="http://domeniu_site/page.php?id='. $users[$i]['id'] .'&name='. $users[$i]['name'] .'" title="'. $users[$i]['name'] .'">'. $users[$i]['name'] .'</a>';
  }
}
Iar in "page.php" preiei id-ul din GET['id'] si faci select-ul de afisare a datelor utilizatorului cu acel 'id' la WHERE.

Cod: Selectaţi tot

if(isset($_GET['id']) && isset($_GET['name'])) {
  $id = intval($_GET['id']);        // sa fie numar intreg
  $sql = "SELECT * FROM tabel WHERE id=$id LIMIT 1";
  // preluare si afisare date ...
}