2016-02-03 53 views
1

嗨虽然登录到网站IAM在填写表单时填写表单中的用户名我需要在数据库中插入用户名。但IAM得到错误为如何插入隐藏字段数据到数据库使用php

注意:未定义指数:电子邮件

这里是我的代码

的index.php

<?php 
$username = $_SESSION['username']; 
if($username) 
{ 
?> 
<h3> Welcome <?php echo $username; ?></h3> 
<?php 
} 
else 
{ 
echo "no"; 
} 
?> 
<body>  
    <input type='hidden' value="<?php echo $username; ?>" name='email'>   
    <input type="button" value="Logout" id="logout" onClick="document.location.href='login.php'" />  
    <form method="post" action="details.php" id="myform">    
     <ul class="tab-content"> 
       <li class="tab-pane active" id="salary">     
          <h3>Details</h3> 
          <table style="border-collapse: collapse;border: 1px solid black;"> 
          <tr class="spaces"> 
           <th>User Name</th></tr> 
           <tr> 
           <td><input type="text" name="user_name" value="" required /></td> 
           </tr> 

details.php

<?php 
$connection = mysql_connect("localhost", "root", "") or die(mysql_error()); 
$db = mysql_select_db("accountant", $connection); 
$email=$_POST['email']; 
$name=$_POST['user_name']; 
$query=mysql_query("INSERT INTO user_details(email,user_name)values('$email','$name')"); 

谁能帮我这先谢谢了

在填写此表我还需要插入隐藏字段值在数据库

+0

首先你需要隐藏的输入字段放置在表单内的。然后该值将与其他数据一起发送。并从那里你可以访问值作为窗体内的其他值。 (你已经完成了,因为我可以看到)。 – Martin

+0

谢谢你的工作 – user5751258

回答

0

尝试将该字段放在表单标记中,然后完成。

<?php 
    $username = $_SESSION['username']; 
    if($username){?> 
     <h3> Welcome <?php echo $username; ?></h3> 
    <?php } else { 
     echo "no"; 
    } 
?> 
<body> 
    <input type="button" value="Logout" id="logout" onClick="document.location.href='login.php'" /> 
    <form method="post" action="details.php" id="myform"> 
     <input type='hidden' value="<?php echo $username; ?>" name='email'> 
     <ul class="tab-content"> 
      <li class="tab-pane active" id="salary"> 
       <h3>Details</h3> 
       <table style="border-collapse: collapse;border: 1px solid black;"> 
        <tr class="spaces"> 
         <th>User Name</th> 
        </tr> 
        <tr> 
         <td> 
          <input type="text" name="user_name" value="" required /> 
         </td> 
        </tr> 
+0

谢谢..如果我的回答很有帮助,请点击右边的标记接受它,然后放弃投票。这是欣赏答案的最佳方式。 –

1

你的隐藏字段必须在表单中。否则,它的价值不提交表单的动作,你会得到未定义通知

<form method="post" action="details.php" id="myform"> 
<input type='hidden' value="<?php echo $username; ?>" name='email'>  

--- rest code--- 

<input type="button" value="Logout" id="logout" onClick="document.location.href='login.php'" /> 

</form> 
1

你得到未定义指数的通知,因为你没有使用<form></form>

<input type='hidden' value="<?php echo $username; ?>" name='email'> 

里面隐藏的输入记住要么提起隐藏或可见的,你会在<form></form>里面定义它,否则你会得到通知。

侧面说明:

请使用mysqli_*PDO扩展,因为mysql_*已被弃用,在PHP中不可用7.

还有一个问题,您的提交按钮也走出侧<form>但它会因为你正在使用onclick()事件,但它不是很好的做法。

你的代码是开放的SQL注入,你需要防止与SQL注入。

最后一件事,我希望你在你的文件的顶部使用session_start()在原始代码中获得$_SESSION['username'];,请重新检查。

0

的index.php

<?php 
$username = $_SESSION['username']; 
if($username) 
{ 
?> 
<h3> Welcome <?php echo $username; ?></h3> 
<?php 
} 
else 
{ 
echo "no"; 
} 
?> 
<body>  

<input type="button" value="Logout" id="logout" onClick="document.location.href='login.php'" />  
<form method="post" action="details.php" id="myform">    
    <ul class="tab-content"> 
      <li class="tab-pane active" id="salary"> 
    <input type='hidden' value="<?php echo $username; ?>" name='email'>     
         <h3>Details</h3> 
         <table style="border-collapse: collapse;border: 1px solid black;"> 
         <tr class="spaces"> 
          <th>User Name</th></tr> 
          <tr> 
          <td><input type="text" name="user_name" value="" required /></td> 
          </tr> 
0
<?php 
    session_start(); 
    // you have to start the session in order to work with php session. 
    $username = $_SESSION['username']; 
?> 
0
> <form method="post" action="details.php" id="myform"> <input 
> type='hidden' value="<?php echo $username; ?>" name='email'>  
> 
> <input type="button" value="Logout" id="logout" 
> onClick="document.location.href='login.php'" /> 
> 
> </form> 

隐藏式总是包含隐藏值

相关问题