[php] nazwa pola "userform[name]" w POST

0

Jak wysyłam przez formularz pole typu "text" o nazwie "userform[name]" to jakiej zmiennej będzie przypisany tekst napisany w tym polu ?

0

$userform[name] ? :|

0
nediam napisał(a)

$userform[name] ? :|
ewentualnie jak już to $userform['name'], tylko jak tego użyć w warunku if? Bo konstrukcja
if ($userform['name']=="")
{echo"tekst"; }

nie chce mi działać

0

Znaczy się - masz takie coś?
<input type="text" name="userform[name]" />
?

No to $_POST['userform[name]']

Dziwne pytanie... 8-|

0
Marooned napisał(a)

No to $_POST['userform[name]']

Dziwne pytanie... 8-|

blad [!!!]
bedzie w $_POST['userform']['name']

0

Mówisz?
Nigdy nie korzystałem z '[]' w nazwach - naleciałości z większości języków, gdzie ten znak nie jest prawidłowy dla nazwy i jest zarezerwowany dla tablic.
Czyli tu też nie jest to jako zwykły element nazwy... to po co takie coś?

Poprawiłem temat i wyciągnąłem temat z kosza ;)

0

jest to widziane jako element tablic POST, element typu array

Nigdy nie korzystałem z '[]' w nazwach - naleciałości z większości języków, gdzie ten znak nie jest prawidłowy dla nazwy i jest zarezerwowany dla tablic.

tu tez jest zarezerwowany, w POST to bedzie tablica ;)

co do przykladu do robilem kiedys panel do zakladania sondy i byl tam dynamicznie tworzony formularz gdzie uzytkownik mogl okreslic ile bedzie mozliwych odpowidzi, wygladal on mniej wiecej tak:

[...]
<input type="text" name="odp[]" size="50"  />
<input type="text" name="odp[]" size="50"  />
<input type="text" name="odp[]" size="50"  />
<input type="text" name="odp[]" size="50"  />
[...]

i pozniej po przeslaniu postem

  foreach($_POST['odp'] as $value){
    [...]
  }

podobnie robilem tez z dodawaniem plikow na serwer (np. zdjec do galerii)

<script type="text/javascript">
function dodajZdjecia() {
    var ile = prompt("Ile zdjęć chcesz dodać?",1);
    if(ile==parseInt(ile) && ile>=0) {
    document.getElementById('zdjecia').innerHTML="";
        for(i=1; i<=ile; i++) {
            document.getElementById('zdjecia').innerHTML+='<div style="float:left;">Zdjęcie '+i+':</div><input type="file" name="zdjecia[]"><br>';
            document.getElementById('zdjecia').innerHTML+='<div style="float:left;">Podpis '+i+':</div><input type="text" name="podpisy[]" maxlength="255"><br>';
            document.getElementById('zdjecia').innerHTML+='<hr size="1" color="#000000">';
        }
    }
    else {
        alert("Błędnie podana liczba zdjęć.");
    }
}
</script>
[...]
<tr>
<td align="right">zdjęcia (w formacie jpg):</td>
<td><a href="javascript:dodajZdjecia();">dodaj</a></td>
</tr>
[...]
// i w obsludze formularza
[...]
    for($i=0;$i<count($_FILES['zdjecia']['name']);$i++) {
        if($_FILES['zdjecia']['error'][$i]==0) {
          dodawanie zdjecia $_FILES['zdjecia']['name'][$i];
          i opis zdjecia $_POST['podpisy'][$i];
        }
     }
[...]
0

Dzięki za przykład.

Teraz mi się przypomniało, że miałem styczność z czymś takim - pamiętam, że miałem problem aby dobrać się do zmiennej o takiej nazwie poprzez JavaScript :| Nie udało mi się... ale to dawno było.

1 użytkowników online, w tym zalogowanych: 0, gości: 1