Я получил это, и я понятия не имею, что мне здесь не хватает:
<?php
//Some validation for the SUBMIT form
if(isset($_POST['submit'])&&$_POST['submit']=='add'){
$_POST = array_map("mysql_real_escape_string", $_POST); //This little fella is responsible for the mess ¬¬
$campus_string = $_POST['campus']; //To get a checkboxes Array
....
print_r($campus_string); //to see if I am getting the checkboxes when submitting
}
?>
....
//Now inside <body> of the HTML
<form action="" method="post" name="filosofal">
//A little loop to create the checkboxes from a DB
foreach($campi as $keyCampi => $valueCampi){
echo '<tr>
<td>
<input type="checkbox" id="campus[]" name="campus[]" value="'.$value['Id'].','.$valueCampi['Id'].'" />'.$valueCampi['Nombre'].'<br />
</td>
</tr>';
}
</form>
Но print_r
ничего не показывает, массив не сохраняется при отправке через POST
.Надеюсь, вы можете помочь мне точно определить, куда я это прикручиваю.
РЕДАКТИРОВАТЬ: Решено
Ну, я наконец-то понял это, это отчасти смущает.
В моемкод, который я использую:
$_POST = array_map("mysql_real_escape_string", $_POST);
, чтобы избежать некоторых конфликтов кодирования (например, имен с 'на них), безопасности и т. д.
Я прокомментировал строку, и она теперь работает (не сделал)не могу добавить эту часть, поскольку я не знал о ее актуальности по этому вопросу), никаких изменений не нужно было делать.
Не знаю, почему мне понадобилось пять дней, чтобы найти эту мелочь там, но сейчасготово.В любом случае, спасибо всем.