Вставка значений флажков - PullRequest
0 голосов
/ 17 апреля 2010

У меня есть форма регистрации, в которой есть checkboxes вместе с другими полями. Я не могу вставить выбранные значения checkbox в базу данных. Я сделал одно поле в базе данных для хранения всех проверенных значений.

Это код для детали checkbox в форме:

<code><pre><input type="checkbox" name="expertise[]" value="Websites,IT and Software"> Websites, IT and Software   <input type="checkbox" name="expertise[]" value="Writing and Content"> Writing and Content 
<input type="checkbox" name="expertise[]" value="Design and Media"> Design and Media            <input type="checkbox" name="expertise[]" value="Data entry and Admin"> Data entry and Admin 
<input type="checkbox" name="expertise[]" value="Engineering and Skills"> Engineering and Science     <input type="checkbox" name="expertise[]" value="Seles and Marketing"> Sales and Marketing 
<input type="checkbox" name="expertise[]" value="Business and Accounting"> Business and Accounting     <input type="checkbox" name="expertise[]" value="Others"> Others 

и это соответствующий код php для вставки данных

 $checkusername=mysql_query("SELECT * FROM freelancer WHERE fusername='{$_POST['username']}'");

    if (mysql_num_rows($checkusername)==1)
    {
      echo "username already exist";
    }
    else
    {
      $query = "insert into freelancer(ffname,flname,fgender,femail,fusername,fpwd,fphone,fadd,facc,facc_name,fbank_details,fcity,fcountry,fexpertise,fprofile,fskills,fhourly_rate,fresume) values

      ('".$_POST['first_name']."','".$_POST['last_name']."','".$_POST['gender']."','".$_POST['email']."','".$_POST['username']."','".$_POST['password']."','".$_POST['phone']."','".$_POST['address']."','".$_POST['acc_num']."','".$_POST['acc_name']."','".$_POST['bank']."','".$_POST['city']."','".$_POST['country']."','".implode(',',$_POST['expertise'])."','".$_POST['profile']."','".$_POST['skills']."','".$_POST['rate']."','".$_POST['resume']."')";

      $result =

      ($query) or die (mysql_error());

Этот код вставляет данные для всех полей, но поле значения флажка остается пустым.

Ответы [ 3 ]

1 голос
/ 17 апреля 2010

В этом опыте содержится массив, поэтому используйте этот

$exp = $_POST["expertise"];
$fulexp = implode(",", $exp);
// echo $fulexp;

Это даст правильные результаты всех значений флажка

0 голосов
/ 17 апреля 2010

Но $_POST["expertise"]; вернет только последний отмеченный флажок, отмеченный пользователем, если вы измените имя флажка из опыта [].

0 голосов
/ 17 апреля 2010

Вы определили в HTML массив с помощью «[]» (экспертиза []), а в PHP вы используете значение $ _POST [«экспертиза»]. Я предлагаю использовать:

 <input type="checkbox" name="expertise" value="Design and Media" /> Design and Media   

EDIT:

Попробуйте использовать var_dump ($ _ POST ['экспертиза']), чтобы просмотреть содержимое переменной $ _POST ['экспертиза']. Функция часто очень помогает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...