Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Długi formularz
Forum PHP.pl > Forum > PHP
Zyggmunt
Witam.
Chcę zrobić formularz, który będzie musiał przyjąć 35 wartości z pola tekstowego. Jako, że jest to dosyć duża ilość posłużyłem się pętla. Wszystko w porządku z tym, że aby później odnieść się do poszczególnych pól tekstowych muszę użyć $_POST['name']. Oczywiście każda z tych "name" musi być inna, aby jedna nie nadpisywała drugiej. I tu moje pytanie. W jaki sposób zrobić, aby pola tekstowe same nazywały się kolejno:
name1,name2,name3...

Próbowałem w ten sposób:

<?php
$i=0;

echo $_POST['name.$i'];


echo '<form action="ten_plik.php" method="POST">';
for($i ; $i < 35 ; $i++)
{
echo '<input type="text" name="name.$i" />';
echo '<input type="submit" value="send" />';
}
echo '</form>';

?>

Ale nadal po wpisaniu do którejś rubryki jakiegoś tekstu, nie wyświetla się on przy pomocy: echo $_POST['nazwa.$i'];

Proszę o pomoc.
osl
nie
  1. <?php
  2. echo $_POST['nazwa.$i']
  3. ?>

tylko
  1. <?php
  2. echo $_POST['nazwa'.$i]
  3. ?>


a w razie wątpliwości co dociera do skryptu:
  1. <?php
  2. var_dump($_POST)
  3. ?>
okitoki
ja to pisze z głowy bez testu wiec przetestuj to sam

Kod
<?php


foreach($_POST as $name => $item)
if(eregi("(name)([0-9]{1,})",$name))
echo "{$name}:{$item}";


echo '<form action="ten_plik.php" method="POST">';
for($i=0; $i < 35; $i++)
{
echo '<input type="text" name="name'.$i.'" />';
echo '<input type="submit" value="send" />';
}
echo '</form>';

?>
maly_swd
i jeszcze ten submit lepiej dac go za petle..
Zyggmunt
Wielkie, wielkie dzięki ;] Nareszcie to zrobiłem. Wyobraźcie sobie, że męczyłem się z tym cały wczorajszy dzień, a wystarczyło tylko zapisać to w ten sposób: echo '<input type="text" name="nazwa'.$i.'" />';

Jeszcze raz dzięki ;]

Aha. Tak przy okazji. W jaki sposób zrobić aby wykonywał się jakiś skrypt php bez odświeżania całej strony. Np. tak jak na tym forum - klikamy szybka edycja i pojawia się jedynie okienko edycji, a nie odświeża się cała strona.

Przykładem też mogą być gry przez przeglądarkę gdy np. dodajemy sobie siłe itd.

Siła [+]
Zręcznośc [+]
Magia [+]

Klikamy na [+] i od razu dodaje się siła naszej postaci bez jakiegokolwiek odświeżania.
osl
poczytaj o technologii AJAX.
Zyggmunt
Czy na stronie o rozszerzeniu *.php muszę dawać na początku:

CODE
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl" dir="ltr">
<head>
<title>strona php</title>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8"/>
<meta http-equiv="Content-Language" content="pl"/>


?

Proszę o odpowiedź.
Chrom
Nagłówek strony jest informacją dla przeglądarki jak ma traktować treść i musi się tam znaleźć, a rozszerzenie php to informacja dla parsera
Zyggmunt
Mam tabelę:

CODE
for($i = 1 ; $i < 36 ; $i++)
{
$query = "SELECT * FROM kursy WHERE id='$i'";
$res = mysql_query($query);
$row = mysql_fetch_array($res,MYSQL_NUM);

echo "<tr><td><img src='flagi/$row[1]'/></td><td>$row[2]</td><td>$row[3]</td><td>$row[4]</td></tr>";
}
?>


Jednak nie wygląda ona zbyt dobrze na stronie, ponieważ jest zbyt długa. Jakiego skryptu musiałbym użyć aby rozsuwała się ona dopiero po najechaniu na tabelę, bądź np. po naciśnięciu strzałek w dół ?
nieraczek
Musisz wykorzystać JavaScript - pobierz najlepiej bibliotekę jQuery: http://jquery.com/
i skorzystaj z funkcji: toggle() - ukrywa element gdy widoczny badz pokazuje gdy ukryty
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.