Autor Zpráva
MartinKaše
Profil *
Lze udělat nějaký html soubor npř. editor.html který by v sobě obsahoval TextBox a Tlačítko Submit, v textboxu by se zobrazoval text z www.neco.cz/text.txt a pokud bych něco přepsal a dal submit tak by se tento soubor přepsal tím co jsem editoval v textboxu ? Děkuji předem.
shaggy
Profil
MartinKaše:
Lze ... ?
Áno, ide to. Iba v html nie.
MartinKaše
Profil *
A jak tedy ? Nějaký návod ? Nebo rovnou soubor ?
nemeja
Profil
Budeš potřebovat PHP a funkce file_get_contents(),file_put_contents() pro práci se soubrem a pak $_POST['nazev_pole'] pro příjem inputů
MartinKaše
Profil *
:) No, a nějaký návod, tohle je na člověka který splácal web přes nvu dost tvrdý :) Co tekhle návod nebo soubor ? :)
nemeja
Profil
Zkusím ti něco jednoduchýho udělat, nicméně už jsem tu něco takového viděl :)
shaggy
Profil
MartinKaše:
tohle je na člověka který splácal web přes nvu dost tvrdý
To ani nie je pre človeka, ktorý vie robiť web iba cez nvu. Taký človek sa musí najprv niečo naučiť ;-)
MartinKaše
Profil *
nemeja Děkuji mnohokrát :)
nemeja
Profil
<?php
  $soubor="text.txt";
  if(isset($_POST['odeslat']))
  {
    file_put_contents($soubor, $_POST['text']);
    echo "Soubor úspěšně uložen";
  }
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
  <textarea name="text"><?php echo file_get_contents($soubor); ?></textarea>
  <input type="submit" name="odeslat" value="Odeslat">
</form>

Toto by mělo fungovat
MartinKaše
Profil *
Zkouším ale nějak nefunguje :(
http://skenerz.sweb.cz/edit.php / tady už je to na webu i se zdaným textovým souborem :)
nemeja
Profil
Nevím, máte tam PHP?
MartinKaše
Profil *
jak php ?


Funguje :)


Děkujiiiiii :)


Tak nic, myslel jsem si to ale vždy to přepíše všechen text na odeslat :/ Prostě místo toho aby to uložilo ta to přepiše na Odelslat
T.Thomas
Profil *
V tom scriptu je malý překlep. Omylem se tam zapisuje hodnota tlačítka "Odeslat" Stačí pozměnit: if(isset($_POST['text']))
a
file_put_contents($soubor, $_POST['text']);

Nicméně je to pouze holý script bez jakéhokoli ošetření proti nepravostem.
nemeja
Profil
T.Thomas:
Ne to je dobře, kontroluje jestli bylo kliknuto na tlačítko odeslat a pak to zapisuje ten text :-) jinak ano, je to pouze holý script :-)
peta
Profil
nemeja: Nj, ale prohlizec muze, ale take nemusi u submit tlacitka odeslat jeho value. Ve vetsine prohlizecich se odesle.

if( isset($_POST['odeslat']) && isset($_POST['text']))
Ja bych to zmenil jeste takto. Protoze file_put_contents ti pak vyhlasi warning, ze nebyla poslana hodnota 'text'. Navic by to chtelo jeste osetrit proti parazitnimu php/html/js/css kodu.
jenikkozak
Profil
peta:
Protiřečíš si. Vzhledem k tomu, že se hodnota submitu neodesílá ve všech případech, bylo by chytřejší použít logický součet místo logického součinu, který navrhuješ. (Logickým součinem tomu vůbec nepomůžeš, přece když se to políčko neodešle, podmínka se nesplní bez ohledu na to, zda se pošle zbytek formuláře.)
Logický součet je ale také zbytečný. Existuje-li obsah prvku textarea, byl formulář odeslán a nemá vůbec smysl testovat, zda se odeslala i hodnota submitu.
A kromě toho formulář, který obsahuje jen prvky <textarea>, se dost dobře pomocí Enteru, tedy bez kliknutí na submit odeslat nedá, takže je úplně jedno, jestli testuješ existenci hodnoty tlačítka, nebo formulářového políčka.

Protoze file_put_contents ti pak vyhlasi warning, ze nebyla poslana hodnota 'text'
Nesmysl. Pokud se neodešle hodnota submitu, vůbec to neprojde podmínkou, funkce file_put_contents se neprovádí.
MartinKaše
Profil *
Funguje, jen je nějaká malá ta mřížka :D
peta
Profil
MartinKaše: cols rows?
jenikkozak: Uvodni 2 radky byli mysleny pro nemeju a dalsi pak obecne do tematu.
Testovani submitu ma smysl jako antispamova ochrana nebo pri vice submit tlacitkach ci formularich odesilanych na jednu stranku. Pokud ovsem to value prohlizec odesle.
jenikkozak
Profil
peta:
Uvodni 2 radky byli mysleny pro nemeju a dalsi pak obecne do tematu.
Já ti jen obecně říkám, že je to blbost.

Máš nějak ověřeno, že třeba aspoň 50 % robotů neposílá submit? Z vlastní zkušenosti totiž vím, že roboti submit odesílají. Proto také částečně funguje jejich rozlišení pomocí této hodnoty.

Testovani submitu ma smysl jako antispamova ochrana nebo pri vice submit tlacitkach ci formularich odesilanych na jednu stranku.
Ano, správně, nejsi sám, komu je jasné, že formulář na editaci txt souboru bude mít dvacet odesílacích tlačítek. To je absurdní. Rovnou sem můžeš psát regexp na validaci e-mailu a URL, co když to někdo bude chtít využít?
Chápeš, že pokud prohlížeč value neodešle, úplně uživatele odřezáváš? Navíc, jak už jsem napsal, se v tomto případě odešle vždy, takže jen plácáš.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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