Autor Zpráva
meeeeee
Profil *
dobry den,
delam program, kde potrebuji mit nastaveni.
<html>
    <head>
          <meta charset="utf-8">
    </head>
    <style>
        *{font-family:verdanam,"Times New Roman",Georgia,Serif}
    </style>
<?php

    $jmeno=fopen("sobor1.txt","r");
    $permi=fopen("soubor2.txt","r");
    while(!feof(jmeno)) {
        
        $jmeno=trim(fgets($jmeno));
        $hodnota=trim(fgets($permi));
    if($hodnota=1) {        
        echo trim("$jmeno<form method='post'> <input type='checkbox' name='permiz' checked><br>");
        }else {
     echo trim("$jmeno<form method='post'> <input type='checkbox' name='permiz'><br>");        
        }
        $a--;
        }

?>
Toto je cast zdrojaku. Problem je zaprve v tom, ze za prvnim jmenem to da novej radek, kdyz to vypisuje dalsi jmea, tak uz je checkbox vpohode za jmenem.
Druhy problem je v tom, ze i kdyz je zatim uzivatelu jen pet, tak to udela 6 checkboxu, proste vzdy na konci jeden checkbox prebyva.
Program ma nastavovat opravneni. Napriklad uzivatel blablabla je zapsan na treti radce, tak pokud je na treti radce jednicka, ma na danou vec opravneni a pokud nula tak nema.
Jeste dodelam, aby se to i ukladalo, ted to zatim ma jenom vypisovat.
Dekuji za vsechny odpovedi
DJ Miky
Profil
V podmínce na 12. řádku ti chybí dolar ($jmeno) a na 16. řádku jedno rovnítko ($hodnota == 1).

Podívej se do zdrojáku, co ti ten kód vypisuje. Jednak pro každý řádek začínáš nový <form> (musí být jenom jeden obsahující všechny checkboxy, aby to správně fungovalo) a jednak je ani neuzavíráš.

Jeden checkbox navíc ti to dělá pravděpodobně kvůli prázdnému řádku na konci souboru. To by se dalo ošetřit podmínkou, zda jméno není prázdné.

Mimochodem, takovýto návrh (jména v jednom souboru a oprávnění ve druhém) je velmi křehký a velmi nevhodný pro správu. Vhodnější by bylo využít jeden soubor (např. ve tvaru "jméno|oprávnění" za předpokladu, že ve jméně nemůže být znak '|') a ještě lepší využít třeba asociativní pole (dvojice jméno => oprávnění), které převedeš na řetězec pro uložení do souboru pomocí funkce serialize() a načteš zpět pomocí unserialize().
meeeeee
Profil *
Dekuji, uz to funguje, jeste jsem narazil na problem, ze se mi ani nepodarilo vyGOoglit, jaka je hodnota checkboxu, jak udelam, ze pokud bude checkbox zatrhnut, tak to po submitu napise ano, a pokud nebude zatrhnut, tak to napise ne, vubec mi to nejde.
DJ Miky
Profil
Pokud má checkbox name="permiz", tak třeba takhle:
if(!empty($_POST['permiz'])) {
    // checkbox je zaškrtnutý
}
else {
    // checkbox není zaškrtnutý
}

Ale pozor s tím kódem, co jsi posílal - máš tam několik checkboxů se stejným name, což fungovat nebude. Musíš dát každému unikátní name.
meeeeee
Profil *
super uz to beha, mohl bych se jeste prosim zeptat, jak vypsat odradkovani, /n mi nefunguje a br je blbost...
dekuji moc za tvoje rady...
Tori
Profil
meeeeee:
jak vypsat odradkovani
Nejlépe konstanta PHP_EOL, obsahuje správné zalomení řádku pro oper.systém, na kterém běží PHP. Anebo "\n" (linux) nebo "\r\n" (win) - uvozovky jsou nutné, v apostrofech to nebude fungovat.
meeeeee
Profil *
To je mi jasne, problem je ale v tom, ze pri zapisovani do souboru mi to nefunguje...
meeeeee
Profil *
Tak, uz vsechno funguje, jen jsem zistil, ze sem psal spatny lomitko.
Jeste bych se chtel zeptat, jak udelam aby hned potom co nastaveni odeslu, tak se cela stranka obnovila a obnovily se i ty hodnoty.
Problem je v tom, ze potom co stisknu tlacitko "Ulozit nastaveni", tak se ukaze to, co tam bylo pred ulozenim nastaveni a zobrazeni se aktualizuje az pri dalsim obnoveni stranky :(
meeeeee
Profil *
Tak jsem zjistil, ze by to chtelo udelat pomoci AJAXu, prosim, neodkazali byste me na nejakej, klidne i anglickej tutorial jak toto udelat?
Popripade ta stranka se uz bude stejne jednou obnovovat, problem je v tom, ze kdyz se to odesila pres submit, tak potom mam pod tim podminku a blok kodu, kterej se zacne vykonavat, az bude ...submit==true... Problem je v tom, ze pri opjetovnem nacteni zustane tlacitko jakoby zmacknute. Pritom jeho hodnotu nijak nepredavam.
Prosim poradte... :(
Kcko
Profil
meeeeee:
http://citron.blueboard.cz/clanek/univerzalni-funkce-pro-ajax
meeeeee
Profil *
Aha, no vypada to celkem slozite, neni nejakej jednodusi spusob, aby se aktualizovaly ty data, aby se aktualizovala cela stranka.
Tori
Profil
meeeeee:
Problem je v tom, ze potom co stisknu tlacitko "Ulozit nastaveni", tak se ukaze to, co tam bylo pred ulozenim nastaveni
A nemáte čtení a ukládání dat v opačném pořadí? Nejdřív by mělo být uložení (ještě před <html>), pak nejlépe ještě stránku přesměrovat na sebe samu (tzn. když pak dáte F5, tak se nebudou znovu odesílat ta samá data).
meeeeee
Profil *
Dekuji, premejslel jsem nad tim a nakonec to udelam s AJAXem.
Dekuji

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: