[PHP] Problem z formularzem

w dziale Strony WWW w Operze
vazir napisał(a):

Mam skrypt w PHP aby zapisywał mi formularz w pliku .txt:

<?php
$zmienna1;$zmienna2;

$file=fopen('plik.txt','a');
fwrite($file,"\nZmiennaa: $zmienna1 \nZmiennab: $zmienna2
 \n");
fclose($file);
?>


Wszystko działa jak należy, na serwerze który akceptuje zmienne globalne. Niewiem jak przerobić ten skrypt tak aby już nie używał zmiennych globalnych, ponieważ trudno znaleźć taki serwer. Nieznam się dobrze na php, ale trzena chyba użyć tablic. Proszę o pomoc !

nowotny napisał(a):

W zależności od tego czy używasz metody GET czy POST do wysyłania formularza:
GET:

<?php
$zmienna1=$_GET['zmienna1'];
$zmienna2=$_GET['zmienna2'];

$file=fopen('plik.txt','a');
fwrite($file,"\nZmiennaa: $zmienna1 \nZmiennab: $zmienna2
 \n");
fclose($file);
?>


POST:
<?php
$zmienna1=$_POST['zmienna1'];
$zmienna2=$_POST['zmienna2'];

$file=fopen('plik.txt','a');
fwrite($file,"\nZmiennaa: $zmienna1 \nZmiennab: $zmienna2
 \n");
fclose($file);
?>

... i na tym cały wic polega... wink

vazir napisał(a):

Niestety, ale dalej nie działa sad Już niewiem co robić. gdy używam tego skryptu to plik txt dalej jest czysty irked pomocy yikes

nowotny napisał(a):

Ciężko coś poradzić na odległość nie mając ani grama kodu przed nosem... wink
Tu jest prosty skrypt testowy:

<?php
echo'<form method="POST" action="form.php">
<input type="text" name="zmienna1"></br>
<input type="text" name="zmienna2"></br>
<input type="submit" name="submit" value="Send">
';
if($_POST['submit']=='Send'){
	$zmienna1=$_POST['zmienna1'];
	$zmienna2=$_POST['zmienna2'];
	echo '<pre>';
	print_r($_POST);
	echo '</pre>';
}
?>

Zapisz jako form.php i przetestuj...
BTW: to chyba nie jest najlepsze miejsce na takie tematy... :/ polecam forum na www.php.pl albo grupę dyskusyjną pl.comp.lang.php...

Zajec napisał(a):

Pozwólcie, że strzelę :-)

Serwer stoi na Linuksie i nie masz praw do modyfikacji tego pliku :-)

Trzeba jakoś je zmienić, tylko nie za bardzo wiem jak. Ręcznie dokonuje się tego przez
chmod 0777 ./plik.txt

vazir napisał(a):

Plik stoi na linuksie i mam ustawione chmody do pliku txt na 777. Przyznaje wybrałem niezbyt pasujące forum, lecz na innych nie umią mi pomóc. Dźiwne bo na pozór to bardzo prosty formularz. Jest jedna bardzo ciekawa rzecz. Na forum PHP.pl poradzili mi abym spróbował tego:

P<?php
$file = fopen('plik.txt','a');
fwrite( $file, "\nLogin: " . $_POST['zmienna1'] . "\nHasło: " . $_POST['zmienna2' ] . "\n");
fclose($file);
?>


I skrypt działa, ale tylko pod Operką yikes Co ma takiego Opera czego nie posiada Ie oraz Firefox ?

Zajec napisał(a):

Jeśli działa tylko pod Operą to znaczy, że inne przeglądarki mają problem z przesłaniem tablicy POST. Pewnie dlatego, że nie zamykasz znacznika form.

Jeśli to nie może spróbuj jeszcze napisać post zmałych liter i zamienić kolejnością z action?

<form action="form.php" method="post">


Ewentualnie zamień te dziwne </br> na <br>

Zajec napisał(a):

Wiem doskonale co to XHTML, w niczym innym nie piszę ;-) Natomiast Tobie pomyliło się
</br>
z
<br />

Ten drugi przykład jest poprawną formą.

A jak z tym skryptem w końcu? Zamknięcie form pomogło?

Nie mogę napisać POST z malycj liter ponieważw kodzie php go nie użyłem.

Kompletnie nie rozumiem? bigeyes Można użyć "post" a potem odwoływać się do tego przez $_POST[]

vazir napisał(a):

Nom rzeczywiście pomyłka z mojej strony bigsmile. Myślałem że ci chodzi o POST z propozycji nowotnego:

<?php

echo'<form method="POST" action="form.php">

<input type="text" name="zmienna1"></br>

<input type="text" name="zmienna2"></br>

<input type="submit" name="submit" value="Send">


Post w zmiennej na małe litery próbowałem zmiennić już wcześniej nie poskutkowało. Znalazłem już błąd wina leżała w html'u, a nie w PHP. Sorry za kłopot bigsmile.

vazir napisał(a):

Nowotny twój skrypt nie przejdzie sad Muszę mieć skrypt PHP który przejmuje dane z Formularza w html'u.

[Tu był mój błąd p]


Pozdrawiam i dzięki za zainteresowanie.







Zajec napisał(a):

Trzeba było nas nie kłamać ;-)