Loop al pagnii dupa Stergere cont de catre user
Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
-
adrian_ady
- Mesaje: 80
Loop al pagnii dupa Stergere cont de catre user
Salut,
in site-ul meu, cand un user doreste sa stearga contul trebuie sa trimita un mail prin care sa solicite operatiunea. Eu vreau ca el insusi sa poata face asta din pagina personala. Tot incerc sa gasesc metoda insa rezultatul este un loop continuu al paginii (specific ca datele userului sunt eliminate cu succes din tabel). Trebuie sa fie o ordine a operatiunilor, nu stiu, probabil trebuie sa faca logOFF inainte, sa se stearga cookie, etc.
Ma ajutati?
Cod: Selectaţi tot
if(isset($_GET['sterge'])){
$id = $membru->getValue('id',$username);
$path = "foldere/anunturi/id_".$id;
function deleteDir($path) {
if(is_dir($path) === true) {
$files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path), RecursiveIteratorIterator::CHILD_FIRST);
foreach ($files as $file) {
if(in_array($file->getBasename(), array('.', '..')) !== true) {
if($file->isDir() === true) rmdir($file->getPathName());
else if (($file->isFile() === true) || ($file->isLink() === true)) unlink($file->getPathname());
}
}
return rmdir($path);
}
else if((is_file($path) === true) || (is_link($path) === true)) return unlink($path);
return false;
}
deleteDir($path);
$db->delete("DELETE FROM membri WHERE id = ".$id." ");
$db->delete("DELETE FROM anunturi WHERE id_membru = ".$id." ");
}
MarPlo
Mesaje: 4343
Salut
Dupa ce datele sunt sterse, ncearca sa stergi toate sesiunile si sa faci redirect catre pagina principala (sau ce pagina vrei).
Cam asa:
Cod: Selectaţi tot
if(isset($_GET['sterge'])){
// sterge datele ...
session_destroy(); // sterge sesiuniile
header('Location: /'); // redirect la "/"
exit;
}
adrian_ady
Mesaje: 80
Am incercat, tot bucla de redirectionare-mi rezulta.
Cod: Selectaţi tot
if(isset($_GET['sterge'])){
$id = $membru->getValue('id',$username);
$path = "foldere/anunturi/id_".$id;
function deleteDir($path) {
if(is_dir($path) === true) {
$files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path), RecursiveIteratorIterator::CHILD_FIRST);
foreach ($files as $file) {
if(in_array($file->getBasename(), array('.', '..')) !== true) {
if($file->isDir() === true) rmdir($file->getPathName());
else if (($file->isFile() === true) || ($file->isLink() === true)) unlink($file->getPathname());
}
}
return rmdir($path);
}
else if((is_file($path) === true) || (is_link($path) === true)) return unlink($path);
return false;
}
deleteDir($path);
$db->delete("DELETE FROM membri WHERE id = ".$id." ");
$db->delete("DELETE FROM anunturi WHERE id_membru = ".$id." ");
session_destroy(); // sterge sesiuniile
header('Location: autentificare/'); // redirect la "/"
exit;
}
In site, in folderul 'config' am:
Cod: Selectaţi tot
function logOff()
{
foreach($this->fields as $value) unset($_SESSION[$value]);
//session_destroy();
$this->username='';
$this->password='';
$this->deleteCookie();
}
private function writeCookie()
{
// setez cookie
setcookie(self::$cookie_name."[".$this->fields[0]."]", $this->username, time() + (3600 * 24 * 60)); //expira in 60 de zile
setcookie(self::$cookie_name."[".$this->fields[1]."]", $this->password, time() + (3600 * 24 * 60));
}
private function deleteCookie()
{
// delete cookie
setcookie(self::$cookie_name."[".$this->fields[0]."]", '', time() - 3600);
setcookie(self::$cookie_name."[".$this->fields[1]."]", '', time() - 3600);
}
In pagina PHP am:
Cod: Selectaţi tot
<a href="javascript:void(0)" onClick="confirmare('contul-meu/?sterge=<?=$membru->id?>','Ne pare rau, trebuie sa va intrebam: \nSunteti sigur ca doriti sa va stergeti definitiv contul?\n\nActiunea este ireversibila!')">Sterge cont</a>
MarPlo
Mesaje: 4343
Daca face redirect catre aderesa pusa la header(), nu stiu ce anume sau de ce apare bucla de redirectionare.
Apeleaza si functia logOff() inainte de header(), pe care o ai in "config".
Daca tot nu merge, nu stiu cauza.
adrian_ady
Mesaje: 80
Merci, am rezolvat; aveam adresa unui folder inexacta...
Subiecte similare
-
Spaghetificarea unei stele de catre o gaură neagră
Stiri Deosebite
Pentru prima dată în istorie, astronomii au putut să vizioneze cu lux de detalii şi de la o apropiere până acum neegalată spaghetificarea unei stele,...
-
mysql Update dupa nume
PHP - MySQL - XML
Primul mesaj
Salutari,
Incerc de ceva timp sa fac sa imi salveze informatiile jucatorului in baza de date, o data inserate vreau atunci cand gaseste din nou...
Ultimul mesaj
Cand se creaza tabelul in baza de date, coloana nickname trebuie sa fie de tip UNIQUE KEY .
Iar id-ul ar trebui sa fie o valoare care sa nu o mai...
-
Select dupa mai multe coloane in baza de date
PHP - MySQL - XML
Primul mesaj
Salut
am si eu o baza de date zona_geografica in care am rubricile
id |nume_tara |nume_oras |id_tara |id_oras | nume_zona | id_zona | data
1 |...
Ultimul mesaj
Multumesc mult pentru ajutor .
-
Ajax fade mesaj si redirect dupa un timp
JavaScript - jQuery - Ajax
Primul mesaj
Am codul asta si vreau in loc de input type=button sa fie submit, dar sa imi dea fade la fel in 5 secunde de cand apare eroarea.
Daca schimb cu...
Ultimul mesaj
Am rezolvat,multumesc frumos de ajutor
-
După Lună, China se îndreaptă spre Marte
Stiri Deosebite
După ce a cucerit Luna, China se îndreaptă direct spre Marte.
<img style='width:99%' src='/forum/images/china_probe_rocket.webp' alt='China...
-
Resetare input type text dupa submit
JavaScript - jQuery - Ajax
Primul mesaj
Dupa ce dau enter sau click si a trimis mesajul nu mii se reseteaza input textul,imi trmite catre mysql fara reload incarca textul prin div dar nu...
Ultimul mesaj
\Multumesc, codul din raspunsul tau functioneaza