Autor | Zpráva | ||
---|---|---|---|
rybarada Profil |
#1 · Zasláno: 5. 12. 2012, 18:51:20
Zdravím, mám formulář, který vkládá údaje z formuláře a potřebuju udělat, aby uživatel pomocí select a option vybralsoubor, do kterého se budou ostatní data z formulář ukládat. Například vyberu kategorii kultura, takže e-mail a webová stránka se bude ukládat do kultura.txt. Dík za pomoc
Kód: <?php if(!empty($_POST['odeslano'])) { if(trim($_POST['jmeno']) == "" || trim($_POST['text']) == "") { $chyba = '<font size="5" face="Arial">Nejsou zadána všechny pole</font><p/>'; } else { $zprava = '<div class="zprava"><!--<div>e-mail: ' . $_POST['jmeno'] . '</div>--><div class="text"><a href="' . $_POST['text'] . '">' . $_POST['text'] . '</a></div>' ; $obsah = file_get_contents('databaze.txt'); $uloz = $zprava . $obsah; file_put_contents('databaze.txt',$uloz); $uspech = '<font size="5" face="Arial">Webová stránka byla vložena</font><p/>'; } } if(!file_exists('databaze.txt')) { file_put_contents('databaze.txt',''); } $obsah = file_get_contents('databaze.txt'); ?> <html> <head> <title>Webový katalog stránek - Přidat stránku</title> <style> a:link {color: grey} a:visited {color: grey} a:active {color: grey} a:link, a:visited {text-decoration: none} a:hover {color: black} a:vlink {color: grey} #menu {width: 400px; height: 38px; background: url(file/tlacitko.png)} #menu ul {margin: 0; padding-left: 0px; margin-left: 0px} #menu a {text-decoration: none; height: 38px; float: left; line-height: 38px; margin: 0px 0; padding: 0 1em; background: url(file/tlacitko.png); color: gray} #menu a:hover {background: #def url(file/tlacitko2.png) 0 38px; color: black} #menu a:active {background: #def url(file/tlacitko2.png) 0 38px; color: black} #menu a:focus {background: #def url(file/tlacitko2.png) 0 38px; color: black} #pozadi {background-image: url('file/pozadi.png')} #kategorie {width: 221px; height: 346px; background-image: url('file/kategorie.png'); border: none} </style> </head> <body> <font face="arial"> <center> <div id="pozadi"> <img src="file/logo.png"> </div> </center> <p/> <div id="kategorie"> <div style="position: absolute; left: 20px; top: 180px"> <a href="kultura.php">Kultura</a><p/> <a href="zabava.php">Zábava</a><p/> <a href="vzdelani.php">Vzdělání</a><p/> <a href="e-shopy.php">E-shopy</a><p/> <a href="deti.php">Děti</a><p/> <a href="reklama-privydelek.php">Reklama / Přivýdělek</a><p/> <a href="ostatni.php">Ostatní</a><p/> </div> </div> <img src="file/tlacitko3.png" style="position: absolute; top: 130px; right: 400px"> <div style="position: absolute; top: 130px; right: 10px"> <div id="menu"> <font face="arial"> <b> <ul> <a href="index.php">Home</a> <a href="pridat.php">Přidat stránku</a> <a href="kontakt.php">Kontakt</a> </ul> </b> </font> </div> </div> <div style="position: absolute; left: 300px; top: 190px"> <?php if(isset($chyba)) { ?> <div class="chyba"><?php echo $chyba; ?></div> <?php } ?> <?php if(isset($uspech)) { ?> <div class="uspech"><?php echo $uspech; ?></div> <?php } ?> <form action="" method="POST"> <table> <tr><td>E-mail (nebude zveřejněn): </td><td><input name="jmeno" size="20"></td></tr> <tr><td>Webová stránka: </td><td><input name="text" size="20" value="http://"></td></tr> <tr><td>Kategorie: </td><td><select name="kategorie" size="1"> <option value="kultura">Kultura</option> <option value="zabava">Zábava</option> <option value="vzdelani">Vzdělání</option> <option value="e-shopy">E-shopy</option> <option value="deti">Děti</option> <option value="reklmana-privydelek">Reklama / Přivýdělek</option> <option value="ostatni">Ostatní</option> </select></tr></tr> <tr><td></td><td><input type="submit" value="Přidat" name="odeslano"></td></tr> </table> </form> </div> <div class="databaze"> </div> </font> </body> </html> |
||
jenikkozak Profil |
#2 · Zasláno: 5. 12. 2012, 19:07:54
rybarada:
Do 6. řádku včleň položku $_POST['kategorie'] tam, kde (respektive jak) ji chceš ve výpisu zobrazovat. Mimochodem ten e-mail je zveřejněn ve zdrojovém kódu. A roboti čtou zdrojový kód. Informace, že e-mail nebude zveřejněn, tudíž není pravdivá. |
||
rybarada Profil |
#3 · Zasláno: 5. 12. 2012, 19:22:27
jenikkozak:
napíšeš mi tedy prosím, jak ten 6. řádek bude vypadat? |
||
jenikkozak Profil |
#4 · Zasláno: 5. 12. 2012, 19:28:25
Nevím, jak to chceš. Může to být třeba takto:
$zprava = '<div class="zprava"><!--<div>e-mail: ' . $_POST['jmeno'] . '</div>--><div class="text"><a href="' . $_POST['text'] . '">' . $_POST['text'] . '</a> Kategorie: ' . $_POST['kategorie'] . '</div>' ; |
||
rybarada Profil |
#5 · Zasláno: 5. 12. 2012, 19:31:55
jenikkozak:
nene, já chci, aby e-mail a webová stránka se uložila dosouboru, který je vybrán jako kategorie. Např. když vybereme kultura v kategorii, tak se e-mail a web uloží do kultura.txt a když např. zábava, takdo zabava.txt |
||
jenikkozak Profil |
rybarada:
Jej, pardón. Bude potřeba ověřit, zda poslaná hodnota je v seznamu povolených kategorií. Což uděláme tak, že kategorie vložíme do pole. Pokud odeslaná položka bude v poli, můžeme ji použít jako název souboru k úpravám. V opačném případě budeme ukládat do souboru databaze.txt: $kategorie=array(0 => "kultura", "zabava", "vzdelani","e-shopy","deti","reklmana-privydelek"); //poslední položka obsahuje překlep if(in_array($_POST["kategorie"],$kategorie)){$nazev_souboru=$_POST["kategorie"];} else {$nazev_souboru="databaze";} $obsah = file_get_contents($nazev_souboru.'.txt'); //tohle je už upravený tvůj řádek 7 $uloz = $zprava . $obsah; file_put_contents($nazev_souboru.'.txt',$uloz); //upravený řádek 9 |
||
rybarada Profil |
#7 · Zasláno: 6. 12. 2012, 17:17:11
dik
|
||
Časová prodleva: 13 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0