Jak wysyłam przez formularz pole typu "text" o nazwie "userform[name]" to jakiej zmiennej będzie przypisany tekst napisany w tym polu ?
$userform[name] ? :|
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ć
Znaczy się - masz takie coś?
<input type="text" name="userform[name]" />
?
No to $_POST['userform[name]']
Dziwne pytanie... 8-|
Marooned napisał(a)
No to $_POST['userform[name]']
Dziwne pytanie... 8-|
blad [!!!]
bedzie w $_POST['userform']['name']
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 ;)
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];
}
}
[...]
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.