Oto metoda przy użyciu czystego HTML, który get ty prawie dokładnie tam, gdzie chcesz być, a jedynie wykorzystuje HTML:
<form action="options.php" method="post">
<input type="text" name="options[deptid]" id="deptid" />
<input type="text" name="options[deptname]" id="deptname" />
<input type="submit" name="submit" id="submit" value="save" />
</form>
co dałoby Ci w PHP:
$post_options = array(
'options' => array(
'deptid '=> '[that input element value]',
'deptname' => '[that input element value]'
)
);
którego można potem (tym odkażania) dostępu, takie jak ten:
$post_options = array('options');
if (is_numeric($post_options['deptid'] && $post_options['deptid'] > 0) {
// Do whatever
}
if (is_string($post_options['deptname'] && strlen($post_options['deptname'] > 2)) {
// Do whatever
}
EDIT
Lub ... Chcesz odwołać deptid
w atrybucie input name
i używać go zmodyfikować wiersz o podanie nazwy wydziału?Co wydaje się wskazywać na coś takiego:
<?php
$deptid = 1;
$deptname = 'Department of Silly Walks';
?><input type="hidden" name="options[<?=$deptid?>]" value="<?=$deptname?>">
który Wyjścia:
<input type="hidden" name="options[1]" value="Department of Silly Walks">
http://codepad.org/DtgoZGe7
Problem polega na tym, że wartość $deptid
staje się wartość, która nie jest faktycznie bezpośrednio nazwie lub odwołanie. Myślę, że jest to potencjalnie problematyczne w implementacji z powodu tego abstrakcyjnego wpływu wartości z serwera na klienta iz powrotem, dlatego polecam to, co mam na górze. W praktyce nie ma to znaczenia, ale jest to mniej więcej samo-dokumentowanie.
Uwaga, jeśli chcesz serializować listę działów, jest to nieco trudniejsze. Można, na przykład, spróbuj tego:
<input type="text" name="options[][deptid]" id="deptid" />
<input type="text" name="options[][deptname]" id="deptname" />
Które dodać wartość indeksowane dla każdego input
. Jednak ... Nie byliby bezpośrednio powiązani. Otrzymalibyśmy więc dwie zindeksowane tablice dla każdego klucza.
Co Proponuję w tym przypadku jest użycie Javascript aby dodać każdy nowy dział na input
elementów, więc można dać każdy numer jak:
<input type="text" name="options[0][deptid]" id="deptid" />
<input type="text" name="options[0][deptname]" id="deptname" />
<br/>
<input type="text" name="options[1][deptid]" id="deptid" />
<input type="text" name="options[1][deptname]" id="deptname" />
<br/>
<input type="text" name="options[2][deptid]" id="deptid" />
<input type="text" name="options[2][deptname]" id="deptname" />
<br/>
<input type="text" name="options[3][deptid]" id="deptid" />
<input type="text" name="options[3][deptname]" id="deptname" />
Czy metody odświeżenie starej szkoły i korzystać z PHP liczyć $POST['options']
i "ręcznie" dodać nowy "wiersz" wejść o tym samym indeksie. To zwykła pułapka, więc musisz po prostu o tym pomyśleć, jeśli w pewnym momencie to właśnie nadążasz.
cURL jest twoim przyjacielem –
@HankyPanky - Co CURL ma z tym wspólnego? –
Ponieważ powiedział "używając tylko skryptu php". Więc jeśli musi publikować dane na tej stronie, używając tylko skryptu php, więc dla początkującego myślałem, że cURL będzie dobry. –