Blocare duplicare de taburi in browser sau cod diferit

Ai o întrebare legată de PHP? Incercăm să îi găsim soluţie. Sau poate doar vrei să publici un cod interesant.

Moderatori: Zamolxe, Moderatori

julianms
PHPRomania Supporter
Mesaje: 5
Membru din: Dum Mai 09, 2010 1:10 pm
Localitate: Gratia
Contact:

Blocare duplicare de taburi in browser sau cod diferit

Mesajde julianms » Joi Noi 10, 2011 12:27 am

Salut !

In CHROME există posibilitatea de a face click dreapta pe tab şi apoi alege "Duplicate".
În FIREFOX se menţine apăsat Ctrl şi se trage tabul într-o zonă liberă ...

Se obţin taburi duplicat. Aş vrea să împiedic asta ...

(.. pentru moment am găsit pentru elevi soluţia JavaScript care împiedică să dea Back în browser ... Acolo, după ce dăduseră răspunsuri greşite, puteau da Back şi reluau procedeul - dar având răspunsurile bune pentru formular ... Acum am problema cu duplicatul taburilor. Stiu că există Addon-uri care împiedică duplicarea taburilor, dar nu e o soluţie la mine ...)

-----

Am căutat mai întâi soluţii în JavaScript (care sunt în general mai uşoare). Aş fi vrut să creez la apăsarea pe butonul Submit din formularul PHP un "onsubmit" care să-mi facă o fereastră (popup) fără taburi ... N-am găsit nimic bun, deşi am încercat şi am căutat mult şi pe Net.

Apoi am revenit la PHP, mă gândeam la crearea unui cod (număr) care să lucreze cam ca pe site-ul "Gândul" sau "MediaFax", acolo unde se adaugă comentarii ... Degeaba încerci duplicarea paginii că nu mai e prezent acolo acel cod ce trebuie introdus ...


Poate are cineva vreo soluţie, vreo idee ... Fie PHP, fie JavaScript ...

Thanks !



w3apps
Average Member
Mesaje: 156
Membru din: Joi Sep 02, 2010 11:41 pm

Mesajde w3apps » Joi Noi 10, 2011 4:58 am

Salut,

Nu sunt sigur ca am inteles ce vrei tu sa faci dar uite cum vad eu lucrurile (adica foarte simplu):

Presupun ca sunt niste pasi de a raspunde:

Pasul1:

Intrepare 1,
Intrebare 2.

Pasul2:
Intrebare 3,
Intrebare 4.

etc ....

Trebuie decat sa pui o conditie la fiecare pas daca nu cumva s-a raspuns la intrebarile respective, daca da ii zici ceva "de dulce" sau il arunci la urmatorul pas. Chestia asta implica bineinteles ca atunci cand se face submit la fiecare pas, sa salvezi in baza de date raspunsurile la intrebari.

Daca nu am inteles ce vrei sa faci explica, te rog, putin mai detaliat.

Bafta!

Avatar utilizator
vectorialpx
Senior Member
Mesaje: 4832
Membru din: Mar Mar 01, 2005 9:48 am
Localitate: Bucuresti
Contact:

Mesajde vectorialpx » Joi Noi 10, 2011 10:04 am

[php]<?php
if(isset($_SESSION['MYPAGE'][md5($QUESTION)])) {
die('You have a duplicate tab! or whatever HTML nice message');
}
$_SESSION['MYPAGE'][md5($QUESTION)] = true;
?>[/php] Asta ii va impiedica sa ajunga de doua ori la aceeasi intrebare.
Nu ai nevoie de protectie de back (javascript-ul nu se foloseste cand e vorba de securitate, e doar pentru frumusete) + bonus, daca au dat back, testul se termina, ca nu mai pot da nici forward (intelegi tu de ce)

julianms
PHPRomania Supporter
Mesaje: 5
Membru din: Dum Mai 09, 2010 1:10 pm
Localitate: Gratia
Contact:

Mesajde julianms » Vin Noi 11, 2011 7:00 pm


Avatar utilizator
zeuscool
Senior Member
Mesaje: 250
Membru din: Mie Sep 05, 2007 10:59 am
Localitate: Constanta
Contact:

Mesajde zeuscool » Sâm Noi 12, 2011 12:54 am

Follow me on (Da cu share, like, +1 sau ce mai stii !!!) sau comenteaza articolele, sugereaza etc, FII SOCIAL ... :)

julianms
PHPRomania Supporter
Mesaje: 5
Membru din: Dum Mai 09, 2010 1:10 pm
Localitate: Gratia
Contact:

Mesajde julianms » Sâm Noi 12, 2011 3:46 am


w3apps
Average Member
Mesaje: 156
Membru din: Joi Sep 02, 2010 11:41 pm

Mesajde w3apps » Sâm Noi 12, 2011 3:59 am


julianms
PHPRomania Supporter
Mesaje: 5
Membru din: Dum Mai 09, 2010 1:10 pm
Localitate: Gratia
Contact:

Mesajde julianms » Sâm Noi 12, 2011 4:09 am


Avatar utilizator
zeuscool
Senior Member
Mesaje: 250
Membru din: Mie Sep 05, 2007 10:59 am
Localitate: Constanta
Contact:

Mesajde zeuscool » Sâm Noi 12, 2011 11:24 am

si ca sa scapi de treaba cu reload:

// Pui mai intai intrebarea daca s-a apasat pe buton, la formular

if (isset($_POST['submit']))
{
// Inseamna ca s-a apasat
// Pui niste cod pe aici php de care crezi tu ca ai nevoie, si la final pui header si exit()
header("Location: pagina.html");
exit();
// Unde pagina.html sau pagina.php poate fi aceeasi unde ai formularul sau alta unde zice multumesc nenea ca ai completat formularul
}
Follow me on (Da cu share, like, +1 sau ce mai stii !!!) sau comenteaza articolele, sugereaza etc, FII SOCIAL ... :)

dechim
Senior Member
Mesaje: 1486
Membru din: Mar Mai 10, 2005 11:53 pm
Localitate: Drobeta Turnu Severin

Mesajde dechim » Dum Noi 13, 2011 3:18 am


Avatar utilizator
vectorialpx
Senior Member
Mesaje: 4832
Membru din: Mar Mar 01, 2005 9:48 am
Localitate: Bucuresti
Contact:

Mesajde vectorialpx » Dum Noi 13, 2011 10:23 am

trebuie sa fie
$_SESSION['MYPAGE'][md5($QUESTION)]
pentru ca e o sesiune unica pentru fiecare intrebare.

Oricum, am presupus ca stie sa puna si el session_start() la inceput.
My bad! Dar... inteleg ca a rezolvat, din ce-a postat mai sus.


Înapoi la “Cod PHP”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 10 vizitatori