PHP munkamenet nem működik rendesen, talán azért, mert a fb? kérem, segítsen




Van egy kérdésem a PHP-ülés. ÉN használ egy munkamenet tartani a látogató bejelentkezve. Tettem egy telek előtt ezzel, és tökéletesen működik. Most teszek a Facebook app.


Amikor bejelentkezik (ellenőrzés, ha a felhasználó regisztrált az adatbázisban), regisztrálok `id`. Ezután ezt használom:



```
if(session_is_registered(id))
{
echo Logged in;
}

```

Tehát, ha azt jelzi „bejelentkezett” a böngésző, egészen biztos vagyok benne, hogy a kapcsolat regisztrálva. De mikor megy a következő oldalra (ami session\_start (); a lap tetején), nincs ülés többé. De ha megy a kijelentkezési oldalán (a session\_destroy ();), majd folytassa a bejelentkezési, a munkamenet megfelelően van regisztrálva. Akkor is, ha becsukom az összes böngészőablakot, majd menj a bejelentkezéshez, akkor nem regisztrálja helyesen.


Próbáltam elpusztítja a munkamenet előtt jobbra regisztráció az „id”, de ez szintén nem működik.


Gondolom tettem az alap hiba, hogy valaki itt képesnek kell lennie arra, hogy segítsen nekem pazarlás nélkül sok időt.


Kérlek segíts. Azt már elvesztegetett nap erre. Előre is köszönöm.







Több kód:


Amennyiben munkamenet regisztrált:



```
$id_query = mysql_query (
    SELECT * FROM Tour11_deelnemers WHERE fb_id = '$user');
    while ($record = mysql_fetch_assoc ($id_query))
        {
        $id = $record['deelnemer_id'];
        }
if($id > 0)
{
$speelid = $id;
session_register(speelid);
}

```

Ezután hogy ellenőrizze, ha van regisztrálva:



```
if(session_is_registered(speelid))
{
echo Ingelogd;
}

```

session\_is\_registered () megegyezik isset () a $ \_SESSION.


Tehát a dolog, amit nem értek, míg session\_is\_registered () igaz, miután nyilvántartásba vették, a következő oldalon ez hamis megint :( hacsak tudok belépni után azonnal megy bejelentkezés oldalát (session\_destroy ();). Tehát ha i elpusztítsa az ülés előtt újraindítja és újra regisztrálni, nem segít.
Itt van egy megoldás az Ön számára.


 Állítsa be az ülés, mint ez:



```
if(!isset($_SESSION['speelid'])){
   $id_query = mysql_query ("SELECT * FROM Tour11_deelnemers WHERE fb_id = '$user'");
        while ($record = mysql_fetch_assoc ($id_query)){
            $id = $record['deelnemer_id'];
        }
    if($id > 0){
        $_SESSION['speelid'] = $id;
    }
}

```

 Ellenőrizze, hogy a munkamenet van beállítva, mint ez:



```
if(isset($_SESSION['speelid'])){
    echo "Ingelogd";
}

```

frissítés



Úgy tűnik, hogy a probléma összefügg a> = IE6 hajlandó elfogadni a session cookie által generált php, ha a `.php`fájl említett egy `.html`fájlt egy másik szerverre.


 Html-.PHP ülésen IE kérdés



> 
> Amikor a munkamenet változókat .php fájlban hivatkozott egy keret (.html, vagy más fájl típus) egy másik szerverre, mint a kiszolgáló .php:
> 
> 
> Ilyen körülmények között a IE6 vagy újabb csendben megtagadja a session cookie, amely megpróbált létrehozni (implicit vagy explicit módon a invoquing session\_start ()).
> 
> 
> Ennek következtében a munkamenet változót ad vissza üres értéket.
> 
> 
> Szerint MS kb, a megoldás az, hogy adjunk egy fejléc, amely azt mondja a távoli .php oldal nem visszaélni az a tény, hogy az engedélyt megadták.
> 
> 
> Helyezzük ezt a fejlécet a .php fájlt fog létrehozni / frissíteni a session változókat akarsz:
> 
> 
> 


[Itt van egy teljes menet ebben a kérdésben](http://www.phpfreaks.com/forums/index.php?topic=157539.msg685903#msg685903)


 Megoldás


A megoldás az, hogy adjunk ennek a legtetején a lap, amely meghatározza a munkamenetet.



```
<?php header('P3P: CP="CAO PSA OUR"'); ?>

```
Szia Irén!  

  

Ha regisztráció nélkül használja valaki a rendszert akkor nem lehet érvényesíteni a kitöltési szám limitet. Az oka az, hogy a regisztráció a felhasználó azonosítását szolgálja. Ha nem tudja a rendszer, hogy ki ül a gép előtt, akkor számolni sem tudja, hogy a személy hányadik kitöltésnél jár. frissült az alkalmazás, végre működik. :partying\_face: Pontosan! Nekem érthetetlen, hogy ennyi energiát fektetnek (folyamatosan) valamibe amivel inkább csak rosszabb lesz a felület, és a megszokott dolgok meg eltűnnek (pl. nemrég még minden lecke teljesítése után lehetett látni, hogy mennyi van a következő szintig, most meg ahhoz be kell menni az adatlapra stb.). Régebben, amikor a megjegyzések az adott feladat felett jelentek meg, akkor nekem csak 1-2 másodperc kellett ehhez, most meg, hogy új oldalt nyit (ez már jó pár hónapja így van), azóta ez baromi lassú (nálam kb. 15 mp), bár tudom, hogy a külön oldal megnyitásának is van előnye (pl. nyitva lehet hagyni). Ez utóbbit pl. lehetne orvosolni azzal, hogy mindenki személyre szólóan beállíthatná hogyan működjön neki. Valószínűleg igen   Vannak szabadon kitölthető Redmentás feladatlapok, de a tanárok általában regisztrációhoz kötötten hozzák őket létre. Így ellenőrizhető, hogy ki töltötte ki a tesztet.

 

Mi kell a regisztrációhoz?

Regisztrálni a [https://www.redmenta.com/?registration](https://www.redmenta.com/?registration "https://www.redmenta.com/?registration") oldalon tudsz, amelyet elérhetsz a kezdőlapról és a főmenü **Regisztráció** pontjáról.

Itt meg kell adnod az alábbi adatokat:

* Egy működő e-mail címet, amelyre az érvényesítő linket küldhetjük (később ide kapod majd a rendszertől az értesítéseket is)
* Vezeték- és keresztnevet (megadhatsz becenevet is, de kérlek, vedd figyelembe, hogy ez nyilvánosan látható lesz)
* Egy egyedi jelszót (tartalmazzon kis- és nagybetűt, valamint számot, és legyen legalább 8 karakter hosszú), amit kétszer kell beírnod.

A regisztráció befejezéséhez fogadd el (a négyzetbe kattintva) az Adatkezelési szabályzatot, majd kattints a **Regisztráció** gombra. <https://filedocnet.online/2bb73c77.html>  

be kell jelentkezni A `strftime()` segítségével megadhatod, hogy milyen formában szeretnéd látni az időt:



```
SELECT strftime(‘%Y-%m-%d %H:%M’, x) FROM table;

```

Itt egy [referencia](http://php.net/manual/en/function.strftime.php), hogy milyen változókat használhatsz benne. Ez attól függ, hogyan osztod meg velük. Többféle lehetőség van:

 

A tanuló bejelentkezés után egyből látja a neki küldött feladatlapokat, és kiválasztja a tiédet

Ehhez meg kell osztanod a csoporttal vagy személyesen a tanulóval a feladatlapot. Fontos: add meg a feladatlap nevét, hiszen a tanuló nem csak tőled kaphat Redmenta feladatlapot!

 

A tanuló kap egy linket, és arra kattintva - bejelentkezés után - egyből a feladatlaphoz érkezik

Ehhez a kell a direkcím, amit a diák beír a **Direktcím** menübe, vagy egy link, amit megosztottál velük a szokásos oktatási platformon (Kréta, Goggle Classroom, hashtag.school, stb.). A **Feladatlap publikálása** listából a “Csak annak, akivel itt meg lett osztva”, a “Bárkinek, aki regisztrált és ismeri a direktcímet” vagy a “Bárkinek, aki regisztrált felhasználó” lehetőséget kell kiválasztani.

 

A tanuló bejelentkezik és kikeresi a feladatlapot a Katalógusból

Ha a linkes megosztás nem működik valamiért, és nem osztottad meg csoporttal a feladatlapot, akkor a tanulók a Katalógusban tudják megtalálni. Ez nehézkesebb megoldás, add meg a feladatlap pontos címét, hogy legyen esélyük megtalálni (és hogy ne valami mást töltsenek ki).

 

A tanuló bejelentkezés nélkül eléri a feladatlapot

Akkor működik, hogyha a **Feladatlap publikálása** listából a “Bárkinek a világon” lehetőséget választottad megosztásra. A feladatlap bejelentkezés nélkül is kitölthető - ennek az az előnye, hogy a gyerekek nem akadnak el a regisztráció során, viszont **nem tudjuk követni, hogy ki töltötte ki** (egymás nevében is kitölthetik). Gyakorláshoz ajánljuk. Szia! Egy képet tudnál feltenni a feladatról? Akkor többen tudnánk segíteni. Több munkafüzet is van, és nem mindenkinek van meg, aki lehet hogy tudja.  

Ha a méret miatt nem engedi, akkor a képről ha csinálsz egy képernyőképet, és azt teszed fel engedi, így kisebb a mérete. Ahogy a hibaüzenet is írja valószínűleg saját Microsoft fiókjával van bejelentkezve, ami nem rendelkezik a megfelelő jogosultságokkal. Az iskola kellett hogy biztosítson egy egyedi felhasználónevet és jelszót amivel belépve elérhetővé válik a funkció. További infók:   
<https://support.office.com/hu-hu/article/milyen-fi%C3%B3kot-haszn%C3%A1lok-az-office-szal-%C3%A9s-mi%C3%A9rt-van-r%C3%A1-sz%C3%BCks%C3%A9gem-914e6610-2763-47ac-ab36-602a81068235>  
  
"Ha van meglévő Microsoft 365-előfizetése, vagy a munkahelyén vagy iskolában használja az Microsoft 365-öt, akkor fontos, hogy azzal a fiókkal jelentkezzen be az [Office.com](https://www.office.com/) webhelyen, amelyet az előfizetéséhez társított."  
  
"Ha munkahelye vagy iskolája Microsoft 365-öt használ, valakitől (például egy [Office 365-ös globális rendszergazdától](https://docs.microsoft.com/office365/admin/add-users/about-admin-roles)) valószínűleg kapott egy egyedi felhasználónevet és jelszót. Ezzel a munkahelyi vagy iskolai fiókkal jelentkezhet be, hogy elérje az e-mail-levelezését, valamint a szervezet webes erőforrásait." Firefoxban és Chromeban jó. Próbáld ki!


Ha kiírja, hogy sikeresen ugrottad a szintet, akkor teljesítettnek kell, hogy vegye. Pl.:


![üzlet](http://i58.tinypic.com/2v3g6k2.png)