Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Problem z przesyłaniem danych
kancik
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 9.06.2020

Ostrzeżenie: (0%)
-----


Hey,
mam dwa pliki .php:

Pierwszy:

<?php
function displayForm($label=array(),$form,$submit,$data=array(),$enable=array(),$mess)
{
echo($mess);
echo "<form action='$form' method='post'>
$label[0] <input type='text' name='pole[]'> <br/>
$label[1] <input type='text' name='pole[]'> <br/>
$label[2] <input type='text' name='pole[]'> <br/>
$label[3] <input type='text' name='pole[]'> <br/>
<input type='submit' value='$submit'><br/>
</form>";
}
$label=array('numer','imie','nazwisko','grupa');
$data=array('100','Anna','Kowalska','K0I');
$enable=array(0,1,2,2);
displayForm($label,'zad5_wynik.php','Prześlij',$data,$enable,"Wprowadź dane do formularza");
?>

i drugi:

<?php
include "zad5_form.php";
echo "Print Array <br />";
print_r($label);
echo "<br />";

/*
$a=$_POST['$label[]'];
$b=$_POST['$label[]'];
$c=$_POST['$label[]'];
$d=$_POST['$label[]'];

echo $a; echo "<br />";
echo $b; echo "<br />";
echo $c; echo "<br />";
echo $d; echo "<br />";
*/
?>

Nie wiem jak napisać, by wprowadzone dane do formularza pierwszego pliku, pojawiły się w drugim. Próbowałem wielu kombinacji. Proszę o pomoc.
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




form action='$form' ma wskazywac na drugi plik

a w drugim pliki
print_r($_POST);
a nie zadne jakies $label
Go to the top of the page
+Quote Post
kancik
post
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 9.06.2020

Ostrzeżenie: (0%)
-----


Super! Wielkie dzięki! Teraz jest tak, jak być miało, z jednym mankamentem: w funkcji, $data ma za zadanie wskazać jakie wartości będą się wyświetlały domyślnie w polach formularza, ale z jakiegoś powodu tak się nie dzieje. Pomożesz znaleźć rozwiązanie?
Go to the top of the page
+Quote Post
gino
post
Post #4





Grupa: Zarejestrowani
Postów: 324
Pomógł: 52
Dołączył: 18.02.2008

Ostrzeżenie: (0%)
-----


atrybuty elementu input i zobacz atrybut placeholder

gino
Go to the top of the page
+Quote Post
kancik
post
Post #5





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 9.06.2020

Ostrzeżenie: (0%)
-----


Udało mi się już z tym sobie poradzić, ale mam do Was jeszcze jedną prośbę, już ostatnią. Skrpyt działa, robi dokładnie co chciałem, ale chciałbym jeszcze nauczyć się, jak takie dane zapisane formularzem w PHP do tablicy przesyłać do pliku tekstowego"

<?php
function displayForm($label=array(),$form,$submit,$data=array(),$enable=array(),$mess)
{
echo($mess);
echo "<form action='$form' method='post'>
$label[0] <input type='text' name='pole[]'> <br/>
$label[1] <input type='text' name='pole[]'> <br/>
$label[2] <input type='text' name='pole[]'> <br/>
$label[3] <input type='text' name='pole[]'> <br/>
<input type='submit' value='$submit'><br/>
</form>";
}
$label=array('numer','imie','nazwisko','grupa');
$data=array('100','Anna','Kowalska','K0I');
$enable=array(0,1,2,2);
displayForm($label,'zad5_wynik.php','Prześlij',$data,$enable,"Wprowadź dane do formularza");
?>

wiem jak otworzyć plik tekstowy, ale jedyne co mi wyszło do tej pory to zapis przy pomocy 'serialize'. Ale jest brzydki i mało czytelny. Jak byście to napisali? aby wyglądało to np (w jednej linii w pliku aaaa.txt.):
100, Anna, Kowalska, K0I

Ten post edytował kancik 10.06.2020, 09:50:09
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No najpierw nazwij pola porzadnie,czyli nie
$label[0] <input type='text' name='pole[]'> <br/>
$label[1] <input type='text' name='pole[]'> <br/>
$label[2] <input type='text' name='pole[]'> <br/>
$label[3] <input type='text' name='pole[]'> <br/>

a:
<input type='text' name='numer'> <br/>
<input type='text' name='imie'> <br/>
<input type='text' name='nazwisko'> <br/>
<input type='text' name='grupa'> <br/>

A potem dobieraj sie bezposrednio do tych pol
$_POST['numer']
$_POST['imie']
itd
Go to the top of the page
+Quote Post
gino
post
Post #7





Grupa: Zarejestrowani
Postów: 324
Pomógł: 52
Dołączył: 18.02.2008

Ostrzeżenie: (0%)
-----


słuchaj się zawsze nospor-a (IMG:style_emoticons/default/smile.gif) możesz też zdefiniować tablice o nawie pole i wrzucić do niej nazwy pól:

  1. $pole = ['imie', 'nazwisko', 'coś tutaj', 'i tutaj', 'itd'];


i odwołaj się tak jak do tablicy $label.

Jeszcze jedna uwaga. Atrybuty pól formularza zwykło się pisać nie w apostrofach tylko w cudzysłowie, czyli nie:

  1. <input type='text' name='imie' placeholder='wpisz swoje imie'>


tylko:

  1. <input type="text" name="imie" placeholder="wpisz swoje imie">


Gdy będziesz sprawdzać kod html-a walidatorem, nie wyrzuci błędu, jednak warto uczyć się poprawnie. Poczytaj o różnicy tych znaków w php.

gino

Ten post edytował gino 10.06.2020, 11:36:02
Go to the top of the page
+Quote Post
kancik
post
Post #8





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 9.06.2020

Ostrzeżenie: (0%)
-----


Dzięki Waszym radom wszystko ładnie działa. Temat do zamknięcia. Pozdrawiam! (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 19:45