|
Accesare fisiere prin index.php?id=1
|
| Author |
Message |
Bogdan2901
Banned
Posts: 680
Group: Banned
Joined: Oct 2009
Status:
Offline
Lei: 1194.92
|
Accesare fisiere prin index.php?id=1
Deci....
Am niste fisiere. Cum pot face sa le accesez nu prin site/fisier1.php, site/fisier2.php etc ci prin site/fisiere.php?id=1 etc.
Se face prin redirect ?
require_once('Windows 7 world | Discutii libere | Forum webmasteri & IT');
|
|
| 01-28-2010 06:20 AM |
|
 |
FinalDestiny
Expert
        
Posts: 1,257
Group: Registered
Joined: Feb 2009
Status:
Offline
Reputation: 5
Lei: 2163.69
|
RE: Accesare fisiere prin index.php?id=1
Nu vad rostul la asa ceva. Ar trebui sa retii numele fisierelor in baza de date cu un id specific si apoi sa le citesti. pt ca nu vor avea toate fisierele numele fisier1.php fisier2.php fisier3.php and so on.....
Desene animate, Felicitari de Craciun
|
|
| 01-28-2010 06:27 AM |
|
 |
Bogdan2901
Banned
Posts: 680
Group: Banned
Joined: Oct 2009
Status:
Offline
Lei: 1194.92
|
|
| 01-28-2010 06:28 AM |
|
 |
Bogdan2901
Banned
Posts: 680
Group: Banned
Joined: Oct 2009
Status:
Offline
Lei: 1194.92
|
RE: Accesare fisiere prin index.php?id=1
Ca sa fiu mai detaliat....
Am pe server fisierele:
file1.php
file2.php
file3.php
Si sunt accesibile prin site/file1.php etc
Si vreau sa fie accesibile prin site/files.php?id=1 etc (unde files.php sa fie fisierul cu care le accesez dinamic)
require_once('Windows 7 world | Discutii libere | Forum webmasteri & IT');
|
|
| 01-28-2010 06:40 AM |
|
 |
Birkoff
De al casei
  
Posts: 96
Group: Registered
Joined: Dec 2009
Status:
Offline
Reputation: 4
Lei: 351.03
|
RE: Accesare fisiere prin index.php?id=1
// se seteaza lista de fisiere existente si id-urile aferente
$lista_fisiere = array(
1 => 'fisiera.php',
2 => 'fisierb.php',
3 => 'fisierc.php',
);
// daca se cere un id se seteaza variabila cu id-ul cerut altfel se seteaza cu id-ul default
$se_cere = ( isset($_GET['id']) ) ? intval($_GET['id']) : 1; // 1 e default
// se verifica daca id-ul trimis exista in lista
if ( ! array_key_exists($se_cere, $lista_fisiere) )
{
echo 'pagina ceruta nu exista';
}
else
{
// se include pagina ceruta si mai departe se face ce scrie in pagina ceruta
include($lista_fisiere[$se_cere]);
}
?>
Tutoriale WEB in limba Romana || Servicii IT, depanare, web, cursuri || Esti curios ce scrie in avatarul meu?
|
|
| 01-28-2010 08:11 AM |
|
 |
Bogdan2901
Banned
Posts: 680
Group: Banned
Joined: Oct 2009
Status:
Offline
Lei: 1194.92
|
RE: Accesare fisiere prin index.php?id=1
Mersi mult ! Merge ! Doar ca ar trebui sa adaug manual fiecare pagina ! Asa ca voi selecta din BD ID-ul... iar pagina va contine detalii legate de acel id 
<?php
require_once('config.php');
$id=mysql_real_escape_string($_GET['id']);
$sql = mysql_query("SELECT*FROM `users` WHERE id=".$id);
$row=mysql_fetch_array($sql);
echo ' Marca: ';
echo $row['Marca'];
echo ' <br /> ';
echo ' Modelul: ';
echo $row['Model'] ;
?>
require_once('Windows 7 world | Discutii libere | Forum webmasteri & IT');
This post was last modified: 01-29-2010 12:20 AM by Bogdan2901.
|
|
| 01-28-2010 11:32 PM |
|
 |
Birkoff
De al casei
  
Posts: 96
Group: Registered
Joined: Dec 2009
Status:
Offline
Reputation: 4
Lei: 351.03
|
RE: Accesare fisiere prin index.php?id=1
$id=mysql_real_escape_string($_GET['id']);
fi atent la codul meu si la cum preiau id-ul...
cum tu trebuie sa primesti de fiecare data un numar intreg, ca sa elimini orice tentativa de hack preiei id-ul si il convertesti automat in numar intreg
$id = intval($_GET['id']); // daca cineva incearca sa introduca orice al caracter in afara de numere atunci $id va fi 0
mai departe verifici daca nu e 0 si apoi faci interogarea in bd si pui real_escape ala...
Tutoriale WEB in limba Romana || Servicii IT, depanare, web, cursuri || Esti curios ce scrie in avatarul meu?
This post was last modified: 01-29-2010 02:09 AM by Birkoff.
|
|
| 01-29-2010 02:08 AM |
|
 |
Bogdan2901
Banned
Posts: 680
Group: Banned
Joined: Oct 2009
Status:
Offline
Lei: 1194.92
|
RE: Accesare fisiere prin index.php?id=1
Vreau cu un if sa blochez scriptul cu exit' si un echo Nu aveti voie sa vizitati aceasta pagina. O sa pun
if($id > $variabila_care_cotine_cate_iduri_sunt_in_bd_cu_mysql_num_rows()) {
echo "Nu aveti acces !";
exit;
}
require_once('Windows 7 world | Discutii libere | Forum webmasteri & IT');
|
|
| 01-29-2010 03:41 AM |
|
 |
Birkoff
De al casei
  
Posts: 96
Group: Registered
Joined: Dec 2009
Status:
Offline
Reputation: 4
Lei: 351.03
|
RE: Accesare fisiere prin index.php?id=1
iar gresesti 
la fel ca toti incepatorii si tu ai probleme de logica a codului...
nu trebuie sa preiei toate id-urile existente in bd si sa le bagi intr-o variabila (programare defectuasa, deoarece incarci memoria serverului cu date inutile si soliciti procesorul cu interogari inutile)
corect faci interogarea de genul
SELECT * FROM tabel WHERE id = '{$id}'
si apoi verifici, daca a returnat ceva preiei datele returnate, daca nu a returnat ceva faci ce vroiai tu (echo nu aveti acces aici)
ca sa vezi daca a returnat ceva te folosesti de mysql_num_rows() - vezi manualul php pentru detalii
si abia apoi faci while ... si preiei datele (daca sunt)
Tutoriale WEB in limba Romana || Servicii IT, depanare, web, cursuri || Esti curios ce scrie in avatarul meu?
|
|
| 01-29-2010 05:59 AM |
|
 |
Birkoff
De al casei
  
Posts: 96
Group: Registered
Joined: Dec 2009
Status:
Offline
Reputation: 4
Lei: 351.03
|
RE: Accesare fisiere prin index.php?id=1
revin ca sa iti spun cum fac eu (primul exemplu care ti l-am dat se referea la fisiere existente pe server intr-un director, deci nu era vorba de baza de date)
eu am in bd un tabel de genul
id - titlu - link - continut - data publicare - autor - aprobat - limba
unde titlu e titlul paginii iar link e compus din titlul pagini convertit la litere mici si inlocuit spatiile si caracterele speciale cu - (ca sa am de exemplu index.php?pagina=titlu-din-bd-din-coloana-link )
asa e si mai seo frendly si apoi merge modificat cu mod rewrite sa apara cum vreau eu
ei revenind la problema ta, preiau numele trimis prin get fac selectul in bd si daca returneaza ceva afisez pagina respectiva, daca nu returneaza nimic afisez un mesaj de eroare sau ceva de gen...
Tutoriale WEB in limba Romana || Servicii IT, depanare, web, cursuri || Esti curios ce scrie in avatarul meu?
|
|
| 01-29-2010 06:08 AM |
|
 |
|
|