Pereiti prie turinio

PHP provati žinutė tik vienam vartotojui


Rekomenduojami pranešimai

Sveiki ,taigi susidūriau su problema,kaip leisti vartotojam siųsti žinutę tik vienam asmeniui bet kad galėtų ir atsakyti tik tam asmeniui. Pvz yra žinučių sistema ir vartotojas tadas kuris rašo žinutę bet reikia padaryti taip kad jis galėtų išsiųti tik pvz tomui bet kad tomas galėtų atsakyti tadui. Na papraščiau yra sistema mokiniai gali gauti žinutes nuo mokytojos ir turi galėti atsakyti bet negalėti siųsti kitiems vartotojams nes url laukelyje pakeitus gavėjas į norimą vardą išsiunti kitam mokiniui to neturi vykti kažkaip nesugalvojo kaip padaryti padariau taip:

 

	if($slapyvardis!=$kas !="vardas")

				{
echo "Žinutes galimna siųsti tik mokytojui";


}

bet tada problema kad pats mokytojas atsakyt negali nes jam meta tą klaidą :D kaip tą išimtį padaryt exception kad mokytojas galėtų siųsti visiems kam nori o mokiniai tik mokytojui?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Siūlau saugant informaciją apie vartotojus sukurti laukelį kuriame bus saugojama koks tai vartotojas.

Jeigu naudoji MySQL duomenų bazę tai būtų laukelis 'tipas' su tipu "TINYINT UNSIGNED NOT NULL DEFAULT 0".

Jeigu laukelyje 'tipas' yra įrašytas 0 tuomet tai mokinys, jeigu įrašytas 1 tuomet tai mokytojas.

 

Tuomet siuntimo metu atlik patikrinimą, jeigu prisijungęs vartotojas turi tipą 1 tuomet siųsti leisk visiems. Jeigu prisijungęs vartotojas su tipu 0 tuomet leisk siųsti tik mokytojui atsakymą.

 

Taip pat siūlau prisijungusio vartotojo tipą išsaugoti sesijos kintamajame, tuomet apdorojant užklausą bus lengva tikrinti.

 

Prisijungimo metu:

$_SESSION["tipas"] = $tipas;

 

Patikrinimo metu:

if ($_SESSION["tipas"] == 1) {
 send();
}

Nuoroda į pranešimą
Dalintis kituose puslapiuose

O jeigu padaryti tikrinant lygį nes mokytojas turi lygį 1 mokiniai 0 pvz.:

if ($kas!="vardas" && $lygis=="0")

				{


	 echo "Žinutes galima siųsti tik mokytojams";

	 exit;
	 					}		

 

 

 

ma-daug jei mokytojo vardas ne tas ir lygis 0 tai yra mokinio rodyti klaidą

Redagavo djsaras
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Gidas apie PHP sesijas http://www.w3schools.com/php/php_sessions.asp

 

$vardas = $_POST["vardas"];
$lygis = $_SESSION["lygis"];

if ($kas != $vardas) {
 if ($lygis == 0) {
   echo "Žinutes siųsti gali tik mokytojai";
   exit();
 } else {
   echo "Siunčiame žinutę.";
 }
} else {
 echo "Neteisingas vardas";
 exit();
}

 

O jeigu padaryti tikrinant lygį nes mokytojas turi lygį 1 mokiniai 0 pvz.:

if ($kas!="vardas" && $lygis=="0")

				{


	 echo "Žinutes galima siųsti tik mokytojams";

	 exit;
	 					}		

 

 

 

ma-daug jei mokytojo vardas ne tas ir lygis 0 tai yra mokinio rodyti klaidą

Redagavo ManoDebesis
Nuoroda į pranešimą
Dalintis kituose puslapiuose

$vardas = $_POST["vardas"];
$lygis = $_SESSION["lygis"];

if ($kas != $vardas) {
 if ($lygis == 0) {
   echo "Žinutes siųsti gali tik mokytojai";
   exit();
 } else {
   echo "Siunčiame žinutę.";
 }
} else {
 echo "Neteisingas vardas";
 exit();
}

Ačiū veikia tiek mano tiek tavo variantai ,bet pasirinkau tavo . Ačiū

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...