Autor Zpráva
Adam501
Profil
Ahoj. Na této stránce, jsou články. A já bych chtěl, aby ty články mohl psát i někdo jiný než já. Do redakčního systému se mi nechce, ale napadlo mě tohle: vstup na stránky s formulářem přes .htaccess(.htpasswd). Pak by se do fromuláře napsal článek a odeslal by se do souboru "clanky.php". Do výsledné stránky by se pomocí PHP vložil soubor "clanky.php".
Nevím jestli by to fungovalo, ale co myslíte vy?
panther
Profil
Adam501:
Nevím jestli by to fungovalo, ale co myslíte vy?
Ano, klidně to tak může fungovat.
Adam501
Profil
Díky. A nevíte někdo jak to udělat, aby se článek vkládal na začátek stránky a ne nakonec?
Keeehi
Profil
$fp=fopen("soubor.koncovka","r+");
fwrite($fp,$co_zapsat);
fclose($fp);
AM_
Profil
Keeehi:
mám takové neblahé tušení, že tohle přepíše začátek souboru.
Adam501
Profil
Chápu dobře: když udělám tenhle formulář:
Titulek: <input type="text" name="titulek"><br>
Článek:  <textarea rows="10" cols="40"></textarea><br>
Autor:   <input type="text" name="autor"><br>
<input type="submit" name="ahoj" value="Odeslat">


Tak potom musí být zápis phpka takovýhle:
$fp=fopen("soubor.txt","r+");
fwrite($fp,$titulek,$clanek,$autor);
fclose($fp);


A všechno se vloží do soubor.txt, ale vloží se na řádky pod sebou, nebo do jednoho řádku?
panther
Profil
Adam501:
nechápeš, ale mohl sis to vyzkoušet.

Proměnné $titulek, $clanek, $autor neexistují, fwrite má 2 argumenty (a 3. nepovinný, viz Manuál), ty jí zadáváš 4 argumenty.
Adam501
Profil
A jak tedy php pozná, co má do souboru zapsat?
panther
Profil
Adam501:
podle toho, co funkci předáš ve druhém argumentu (za první čárkou). Přečti si, jak se v PHP spojují řetězce, čárkou to není.

Jsou to základy PHP, bez kterých se psát nedá. Holt je musíš zvládnout.
__construct
Profil
Lepšie bude ak to budeš ukladať do napr. do XML formátu ako do txt ...
Keeehi
Profil
__construct:
On bude rád, že tu vůbec uloží.
Adam501
Profil
Poučil jsem se: už mi funguje funkce fwrite. To co nevím je - jak dostat do fwrite něco z toho formuláře a druhá věc je - jak zalomit řádek?

Keeehi:Ano, tak by se to taky dalo říct.

Edit:K maezerám jsem našel \n nebo \r\n - nefunguje mi ani jedno :(
Keeehi
Profil
Ono s tím fopen a vkládáním na začátek je problém. Jak napsal AM_ fopen s druhým parametrem r+ přepisuje dřívější soubor. Takže by bylo lepší to udělat třeba nějak takto:
<?php
if(!empty($_POST['odeslat']){
  $soubor = "soubor.txt";

  $puvodniObsah = file_get_contents($soubor );

  $novyObsah = $_POST['titulek']."<br>\n";
  $novyObsah .= nl2br($_POST['clanek'])."<br>\n";
  $novyObsah .= $_POST['autor']."<br>\n<br>\n";

file_put_contents($soubor ,$ovyObsah.$puvodniObsah);
}
?>
<form method="post">
Titulek: <input type="text" name="titulek"><br>
Článek:  <textarea name="clanek" rows="10" cols="40"></textarea><br>
Autor:   <input type="text" name="autor"><br>
<input type="submit" name="odeslat" value="Odeslat">
</form>
panther
Profil
Keeehi:
Takže by bylo lepší to udělat třeba nějak takto:
… nebo použít flag „FILE_APPEND“.

„If file filename already exists, append the data to the file instead of overwriting it.“ - PHP Manuál
Keeehi
Profil
panther:
Ale on to chce přidat na začátek souboru. V tom je právě ten problém.
__construct
Profil
SimpleXML nie je o moc zložitejšie a pridávanie nového záznamu do XML by som povedal že je jednoduchšie
panther
Profil
__construct:
a pridávanie nového záznamu do XML by som povedal že je jednoduchšie
totéž by se dalo říci o databázi… Myslí, že pro začátečníka to není vhodná cesta, nicméně je dobře, že jjako možnost to tu zaznělo.
Adam501
Profil
Já jsem to zvažoval a myslím, že by mi stačilo, kdyby se mi to připojovalo na konec(takže do prvního řádku místo r+ a).

K databázi - nemám zkušenost, myslím, že jazyk SQL není zase tak těžká věc. Akorát nevím v čem to editovat...
Alphard
Profil
Adam501:
akže do prvního řádku místo r+ a
Nebo [#14]

Akorát nevím v čem to editovat
Editovat co? Jestli myslíte data, tak ta se spravují právě přes SQL dotazy. Samozřejmě ale existují i hotové nástroje, jako třeba Adminer, která vám správu usnadní.
Adam501
Profil
Ano. Akorát kam psát ty SQL příkazy?
Alphard
Profil
V PHP jsou funkce, které umožňují komunikovat s databází. Na seznámení pravděpodobně použijete mysql_query() a podobné. Podívejte se na http://www.linuxsoft.cz/article.php?id_article=344 (nebrat prosím doslova, ten seriál má svá nejlepší léta za sebou).
Až získáte určité zkušenosti, je dobré pokročit trochu dál, ať už na MySQLi nebo třeba dibi.
Adam501
Profil
Děkuji. Podívám se.

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: