Cześć wszystkim. Piszę z problemem przy którym już dość sporo siedzę. Dostałem kilka zadań ze szkoły do rozwiązania, z dwoma sobie poradziłem, zaś trzeci sprawia problem.
Zadanie brzmi: Napisz program który będzie zbierał dane o użytkowniku. Dane niech będą zbierane w pliku czasowym, którego nazwa będzie przekazywana w ukrytym polu.
Oto wszystko co mam do tego zadania na chwilę obecną:
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-h">
<TITLE>trzecie</TITLE>
</HEAD><BODY>
<?
if (!($_POST['nazwapliku'] || $_POST['zak1'] || $_POST['zakh'])) {
print '<FORM ACTION="4-17.php" METHOD=POST>';
print '<INPUT TYPE="checkbox" NAME="zak1" VALUE="1">Pierogi<BR>';
print '<INPUT TYPE="checkbox" NAME="zakh" VALUE="1">Mydlo<BR>';
print '<INPUT TYPE="submit" VALUE="Wyslij">';
print '</FORM>';
} else {
if (($_POST['zak1']) || ($_POST['zakh'])
) {
$nazwapliku = tempnam (' ', '');
$plik = fopen ($nazwapliku, "w");
fputs ($plik, $_POST['zak1']."\n");
fputs ($plik, $_POST['zakh']."\n");
fclose ($plik);
print '<FORMACTION="4-17.php" METHOD=POST>';
print "<INPUT TYPE=\"hidden\" NAME=\"nazwapliku\" ";
print "VALUE=\"$nazwapliku\">";
print 'Podaj imie i nazwisko:<BR>';
print '<INPUT TYPE="text" NAME="imienazwisko">';
print '<INPUT TYPE="submit" VALUE="Wyslij">';
print '</FORM>';
} else {
$plik = fopen ($_POST['nazwapliku'], "r");
$zak1 = fgets ($plik, 255);
$zakh = fgets ($plik, 255);
fclose ($plik);
if ($zak1 > 0) { print 'Wybrano towar 1<BR>'; }
if ($zakh > 0) { print 'Wybrano towar h<BR>'; }
print "<BR>Zamawiajacy: ".$_POST['imienazwisko']."<BR>";
unlink ($_POST['nazwapliku']);
}
}
?>
</BODY>
</HTML>
Gdy wejdę w plik wyświetla się:

Zaś po kliknięciu wyślij:

Wiem, że ścieżkę muszę ustawić w poleceniu $nazwapliku = tempnam (' ', ''); natomiast czego bym tam nie wpisał zawsze po kliknięciu przycisku wyświetla się error. Działam na hostingerze. Stworzyłem katalog dane więc próbowałem sposobów do zapisania tego pliku:
a) $nazwapliku = tempnam ('dane', ' ');
b) $nazwapliku = tempnam ('public_html /dane ', ' ');
oraz wstawiając w drugą klamrę przedrostek nazwy pliku, czy też nazwę pliku z rozszerzeniem który utworzyłem w katalogu dane. Żaden sposób nie działa. Naprowadzi ktoś na rozwiązanie? Z góry dziękuję.