如何捕获html输入的类型

时间:2015-08-02 11:03:54

标签: php forms

当我使用“print_r($ _ POST)”时,它只捕获了输入的“名称”。 如何从html表单获取参数输入,例如“type”或“name”:

<form method="post">Nama : <input type="text" name="nama" /><br />
Jabatan : <input type="hidden" name="id_jabatan" value="2"><br>
Kontak : <input type="text" name="kontak"><br>
Email : <input type="text" name="email"><br>
UserID : <input type="text" name="userid"><br>
Foto : <input type="file" name="foto"><br>
<br>
<input type="submit" value="Simpan" name="simpan">
</form>

我用这个值填写了这个表单: AA 2 w ^ CC 的dD Simpan

这是“print_r($ _ POST)”的结果:

Array
(
    [nama] => AA
    [id_jabatan] => 2
    [kontak] => VV
    [email] => CC
    [userid] => dD
    [foto] => 
    [simpan] => Simpan
)

仅捕获输入的名称 请帮助:)

3 个答案:

答案 0 :(得分:0)

使用以下函数可以获得会话数组中的任何信息: $这 - &GT;会话而&GT;用户数据( '项目');

其中item是与您要获取的项目对应的数组索引。例如,要获取会话ID,您将执行以下操作: $ session_id = $ this-&gt; session-&gt; userdata('session_id');

注意:如果您尝试访问的项目不存在,则该函数返回FALSE(布尔值)。 试试这样的事情

$sessiondata = array(
                                  'username' => $username,
                                  'password'=>$password,
                                  'email'=>$email,
                                  'is_login' => TRUE
                             );
                             //$this->login_model->set_session($username);
                             $this->session->set_userdata($sessiondata);
                             print_r($this->session->all_userdata());  //to check

答案 1 :(得分:0)

这是一个演示PHP Simple HTML DOM Parser的使用的简单示例。

它演示了访问输入字段的“类型”和“值”。

npm install node-sass

输出:

<?php

include __DIR__ .'/vendor/simplehtmldom_1_5/simple_html_dom.php';

// restrict the list of names to use
$inputNames = array("nama", "kontak", "email", "userid", "foto", "id_jabatan", "simpan");

if (empty($_POST)) { // supply default values
    $_POST = array();
    foreach ($inputNames as $name) {
        $_POST[$name] = '';
    }
}


$html = <<<EOF
<!DOCTYPE HTML>
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=windows-1250">
  <meta name="generator" content="PSPad editor, www.pspad.com">
  <title></title>
  </head>
  <body>
     <form action="" method="post">
          Nama : <input type="text" name="nama" value="{$_POST['nama']}" ><br />
          Kontak : <input type="text" name="kontak" value="{$_POST['kontak']}"><br />
          Email : <input type="text" name="email" value="{$_POST['email']}"><br />
          UserID : <input type="text" name="userid" value="{$_POST['userid']}"><br />
          Foto : <input type="file" name="foto" value="{$_POST['foto']}"><br />
          <input type="hidden" name="id_jabatan" value="2"><br>
          <br />
          <input type="submit" value="Simpan" name="simpan">
    </form>
  </body>
</html>
EOF;

// parse the HTML and the POST inputs.
if (!empty($_POST)) {
    $htmlDom = str_get_html($html);

    // find all the elements with a name
    $elements = $htmlDom->find('[name]');
    foreach ($elements as $node) {
        if (!in_array($node->attr['name'], $inputNames)) {
            continue; // ignore
        }

        echo 'The Name is: ', $node->attr['name'], ' ',
             'The Tag/Type is: ', $node->tag, ' ', ' / ',  $node->attr['type'], ' ',
             'The Value is: ', $node->attr['value'], '<br />';

    }
}

// show the form with the current values.
echo '<br />';
echo $html;

exit;

答案 2 :(得分:-1)

如何在其名称中传递输入字段的类型,如下所示:

<form method="post">
    Nama : <input type="text" name="text[nama]" /><br>
    Jabatan : <input type="hidden" name="hidden[id_jabatan]" value="2"><br>
    Kontak : <input type="text" name="text[kontak]"><br>
    Email : <input type="text" name="text[email]"><br>
    UserID : <input type="text" name="text[userid]"><br>
    Foto : <input type="file" name="file[foto]"><br>
    <input type="submit" value="Simpan" name="simpan">
</form>

然后:

var_dump($_POST);

给出这样的东西:

'text' => 
    array (size=4)
        'nama' => string '' (length=0)
        'kontak' => string '' (length=0)
        'email' => string '' (length=0)
        'userid' => string '' (length=0)
'hidden' => 
    array (size=1)
        'id_jabatan' => string '2' (length=1)
'file' => 
    array (size=1)
        'foto' => string 'file' (length=4)
'submit' => string 'send' (length=4)

希望可以提供帮助。