<form action=ind2.php method=post>
<input type=text name=txt1>
Wartości atrybutów HTML powinny być umieszczone w cudzysłowach.
fputs($x,$_POST[txt1]);
Przyjrzyj się zapisowi [txt1]
- zawartość nawiasów kwadratowych nie jest umieszczona w cudzysłowach / apostrofach, dlatego też nie jest stringiem, a identyfikatorem. Mówiąc prościej - nie odwołujesz się tutaj do elementu tablicy pod kluczem "txt1"
, tylko sięgasz po stałą o nazwie txt1
, wyciągasz jej wartość, i odwołujesz się do elementu tablicy pod takim kluczem. Ponieważ jest to częsty błąd, PHP pozwala na stosowanie takiej konstrukcji, jednak od wersji 7.2.0 powoduje ona wyemitowanie ostrzeżenia.
<?php
$x=fopen("ind.php","a");
[...]
?>
Nie zamykasz pliku po otwarciu go. Gdy skończysz działać na pliku, należy wywołać fclose($zmienna)
.