ielogošnās | Notepad.lv


ielogošnās


   
  1. Gachu : 25 Jūlijs 2009 23:22:33 AtbildētProfilsSūtīt vēstuli

    Sveicināti!!

    Kad cilvēks ievada lietotājvārds un paroli, tā ir pareize - atveras user lapa. Bet es vēlos zināt kā panākt lai saistītās programmas (citas lapas, kas ir user lapā) zinātu, ka viņš ir ielogojies.

    Kādam varbūt kāds programmas piemērs, kā ar ielogošanos nesaistītā php programma zinātu, ka viņš ir ielogojies?

    Piemēram, šai pašā lapā. Ielogojos un staigāju pa forumu programām, bet viņas zin, ka esmu ielogojies!!

    Paldies!!

  2. drono : 25 Jūlijs 2009 23:56:40 AtbildētProfilsSūtīt vēstuli

    Vienkāršākajā gadījumā, izmanto Sessions, vai sliktākajā gadījumā - Cookies.

    Iekš PHP, vispirms atveram sesiju

    Kods:

    <?php
    session_start();
    ?>


    Pēc ielogošanās piešķiram $_SESSION mainīgajam kādu vērtību
    Kods:
    $_SESSION['ielogojies']='Janis';

    Un tad katrā lapā pārbaudām, vai ielogojies ir jānis
    Kods:
    if(isset($_SESSION['ielogojies']) and $_SESSION['ielogojies']=='Janis'){
      //Jānis ir ielogojies, rādām lapu
    }else{
      //Jānis nav ielogojies, sūtām logoties
    }


    Šis tāds ļoti primitīvs izskaidrojums, bet, ja pareizi sapratu, tad tieši tas autoram interesēja.

    Sesijas mainīgais saglabājas uz servera, bet parasti tikai tik ilgi, kamēr lietotājs neaizver pārlūkprogrammu.

    Piemērus vari meklēt jebkurā opensource CMS sistēmā, vai arī Googlē "php login script".

  3. Gachu : 26 Jūlijs 2009 19:44:30 AtbildētProfilsSūtīt vēstuli

    Darbības princips ir skaidrs!!
    Bet ir problēma ar PHP funkciju header. Rāda paziņojumu: Warning: Cannot modify header information - headers already sent by (output started at C:\web\www\vv\checklogin.php:7) in C:\web\www\vv\checklogin.php on line 9


    kāds nezin kāpēc neatver vajadzīgo php failu?

  4. drono : 26 Jūlijs 2009 20:35:33 AtbildētProfilsSūtīt vēstuli

    Tu mēģini nosūtīt kaut kādu headeru informāciju (Cookies, location utt), pēc tam, kad jau ir sākta datu (HTML) sūtīšana. Tas vispārīgā gadījumā nav iespējams. Būtu arī noderīgi uzzināt, kas tieši atrodas attiecīgā faila 7. un 9. rindiņā.

    Ja tiešām nekā savādāk nevar šo problēmu atrisināt, tad var izlīdzēties arī ar output buffering


    Labots: Bāc, tagad reku man nedaudz izbrīnu izraisīja šitāda lieta. Lūk oficiālais piemērs no PHP kā nevajag darīt:
    Kods:
    <html>
    <?php
    /* This will give an error. Note the output
     * above, which is before the header() call */
    header('Location: http://www.example.com/');
    ?>

    Es šamējo izmēģināju uz 2 dažādiem serveriem, bet uz abiem viņš DARBOJAS Darboties viņam taču pēc visas loģikas nevajadzētu, bet viņš darbojas bez nekādiem erroriem. Gan uz jaunākā PHP gan uz vecāka 5.1. WTF??

  5. Gachu : 26 Jūlijs 2009 23:34:41 AtbildētProfilsSūtīt vēstuli

    skaidrs..brīžam strādā, brīžam nē!!

    nezina, kāpēc session_start() rāda error, ja fails ir saglabāts kā UTF-8, bet ja saglabā ANSI, tad nav error!!

    strādā ja saglabā UTF-8, bet error rāda, varētu vistmaz to nerādīt būtu ok

  6. drono : 26 Jūlijs 2009 23:43:40 AtbildētProfilsSūtīt vēstuli

    Ja errors rodas dēļ UTF-8, tad pie vainas ir šajā formātā esošais Byte Order Mark. Tie ir daži neredzamie simboli katra UTF-8 faila sākumā, kas tiek nosūtīti klientam, tāpēc vairs nevar sūtīt headerus.

    Lai to novērstu, web lapās izmantojamajos failos vienmēr ir jāizmanto speciālo UTF-8 formātu bez BOM.
    Notepad++ editorā šis formāts saucas "UTF-8 without BOM" (BOM formāts tur saucas vienkārši UTF-8)
    Notepad2 editorā šis formāts saucas UTF-8 (BOM formāts tur saucas UTF-8 Signature)
    Citos editoros arī ir kas līdzīgs.
    Turpretī, parastais Windows Notepad šo formātu neatbalsta.

  7. Gachu : 27 Jūlijs 2009 0:35:30 AtbildētProfilsSūtīt vēstuli

    strādātikai Notepad2 UTF-8 !!

    paldies!!

  8. Mad182 : 27 Jūlijs 2009 14:43:45 AtbildētProfilsSūtīt vēstuli


    drono rakstīja:
    Es šamējo izmēģināju uz 2 dažādiem serveriem, bet uz abiem viņš DARBOJAS Darboties viņam taču pēc visas loģikas nevajadzētu, bet viņš darbojas bez nekādiem erroriem. Gan uz jaunākā PHP gan uz vecāka 5.1. WTF??

    Ja serverim ir atslēgta kļūdu pazinojumu publiska rādīšana (kā tam uz produkcijas kastēm arī vajadzētu būt), tad konkrētais piemērs varētu arī strādāt.


    _________________
    100% Microsoft free

  9. Genādijs : 27 Jūlijs 2009 16:14:27 AtbildētProfilsSūtīt vēstuli

    //Jānis nav ielogojies, sūtām visus nah "logoties" vispār jau smieklīgi


    _________________
    Šis ir teksts, kuru varat pievienot visām savām publikācijām. Šim tekstam ir 300 zīmju ierobežojums

  10. daGrevis : 27 Jūlijs 2009 16:22:44 AtbildētProfilsSūtīt vēstuli

    Pasūtam logoties, nah... Patiešām koderiem domāšana savādāka.


    _________________
    Think of how stupid the average person is, and realize half of them are stupider than that. /George Carlin/

    http://twitter.com/#!/daGrevis
    http://last.fm/user/daGrevis
    http://ask.fm/daGrevis

    http://dagrevis.lv/

Pievienot komentāru




Digitālās foto kamerasDigitālās foto kameras
  • Saistītās tēmas