Zapis z formulara do suboru

Programovacie jazyky, rady, poradňa...
minokiller
Amateur
Amateur
Príspevky: 23
Registrovaný: 23 feb 2007, 9:53
Kontaktovať používateľa:

Zapis z formulara do suboru

Príspevok od používateľa minokiller »

Potrebujem pomoct ze ked mam takyto formular

Kód: Vybrať všetko

<html>
<head>
</head>
<body>
<form action="send.php" method="post">
  <table width="200" border="0">
    <tr>
      <td width="60">Nick:</td>
      <td><input name="nick" type="text"></td>
    </tr>
    <tr>
      <td width="60">Heslo:</td>
      <td><input name="heslo" type="text"></td>
    </tr>
    <tr>
      <td width="60">Mail:</td>
      <td><input name="email" type="text"></td>
    </tr>
    <tr>
      <td colspan="2" align="center"><input type="submit" class="button" value="Odeslat"><input type="reset" value="Vymazat"></td>
    </tr>
  </table>
</form>
</body>
</html>
tak co mam dat do suboru send.php aby sa udaje vlozene vo formulari zapisali do nejakeho suboru napr udaje.php
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Kód: Vybrať všetko

<?php
	define("FILENAME", "udaje.php");

	$nick = isset($_POST['nick']) ? trim($_POST['nick']) : "";
	$heslo = isset($_POST['heslo']) ? trim($_POST['heslo']) : "";
	$email = isset($_POST['email']) ? trim($_POST['email']) : "";

	if ($nick != "" && $heslo != "" && $email != "") {

	$info = "";
	$file = fopen(FILENAME, "w");
	if ($file) {
		fwrite($file, "$nick\n$heslo\n$email\n");
		fclose($file);
		$info = "Údaje boli uložené do súboru";
	} else {
		$info = "Nastala chyba pri zapisovaní dát do súboru";
	}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1250" >
</head>
<body>
<h1><?php echo $info; ?></h1>
</body>
</html>
<?php
	} else {
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1250" >
<meta http-equiv="refresh" content="5; URL=form.php">
</head>
<body>
<h1>Nie sú zadané všetky potrebné údaje.</h1>
Budete presmerovaný naspäť na <a href="form.php">zadanie údajov</a>
</body>
</html>
<?php
	}
?>
Keď si údaje uložíš do nejakého súboru, tak sa k nim iný môžu dostať (ak poznajú meno toho súboru). Ak to chceš dať do php súboru, môžeš dať takýto formát (a potom sa tie údaje nepošlú):

Kód: Vybrať všetko

<?php /*
nick
heslo
email
*/ ?>
alebo treba nastaviť .htaccess
minokiller
Amateur
Amateur
Príspevky: 23
Registrovaný: 23 feb 2007, 9:53
Kontaktovať používateľa:

thx

Príspevok od používateľa minokiller »

Diki ide to ale ked zadam udaje znovu tak sa stare prepisu novimy.
A este co treba zmenit aby miesto "udaje boli uspesne zapisane" presperovalo na nejaku url?
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Na to presmerovanie uprav toto

Kód: Vybrať všetko

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1250" >
</head>
<body>
<h1><?php echo $info; ?></h1>
</body>
</html>
a zmeň to na

Kód: Vybrať všetko

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1250" >
<meta http-equiv="refresh" content="5; URL=subor.php">
</head>
<body>
<h1><?php echo $info; ?></h1>
O 5 sekúnd budete presmerovaný na <a href="subor.php">stranka</a>
</body>
</html>
Čo sa má robiť s tými údajmi? Majú sa do súboru zapísať, iba keď neexistuje? Alebo sa tam majú pridať? (alebo čo :) )
minokiller
Amateur
Amateur
Príspevky: 23
Registrovaný: 23 feb 2007, 9:53
Kontaktovať používateľa:

no

Príspevok od používateľa minokiller »

Tak mali by sa pridat lebo ked zadam raz meno1 , heslo1 ,email1 tak je to v subore ale ked znovu zadam meno2,heslo2,email2 tak v subore je uz len meno2,heslo2,email2 a ja potrebujem aby tam bolo meno1,heslo1,email1--meno2,heslo2,email2 atd.
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Zmeň

Kód: Vybrať všetko

$file = fopen(FILENAME, "w");
na

Kód: Vybrať všetko

$file = fopen(FILENAME, "a");
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

ej chrono.. zapisovať do php? to je aké šialenstvo..
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

chrono napísal:Keď si údaje uložíš do nejakého súboru, tak sa k nim iný môžu dostať (ak poznajú meno toho súboru). Ak to chceš dať do php súboru, môžeš dať takýto formát (a potom sa tie údaje nepošlú):

Kód: Vybrať všetko

<?php /*
nick
heslo
email
*/ ?>
alebo treba nastaviť .htaccess
PS: vaše phpBB fórum neobsahuje súbor config.php? :)
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

on píše o phpBB? ak je to amatérska stránka (čo zrejme je, keď nevie zapisovať do súboru) tak je takáto rada dosť nebezpečná.

BTW: keď sú tie údaje ako nick, user a mail, prečo to neukladáš do db? bude to praktickejšie pri vyhladávaní a aj bezpečnejšie ako zapisovať niečo do súboru
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

On tie údaje chcel zapisovať do súboru. Neviem, na čo to bude používať, takže ani neviem, čo by bolo lepšie (a ani neviem, či môže db používať).
minokiller
Amateur
Amateur
Príspevky: 23
Registrovaný: 23 feb 2007, 9:53
Kontaktovať používateľa:

n

Príspevok od používateľa minokiller »

No ze naco to budem pozivat je jedno :D , a s tym presmerovanim to velmi nefunfuje lebo ked zadam setky udaje tak vypise ze "Udaje boli uspesne ulozene do suboru" a to presmerovanie na stranku funguje iba ked niektore policko nevyplnim :( .A este by tam nemuselo byt to ze "o 5 sekund budete presmerovani".
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Čo znamená, že to nefunguje (čo sa zobrazí vypíše)?
Ak tam ten text nechceš tak ho vymaž (je tam preto, že niekto môže mať vypnuté presmerovávanie).
Napísať odpoveď