首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我正在尝试为我的eprofile web创建更新过程页面

我正在尝试为我的eprofile web创建更新过程页面
EN

Stack Overflow用户
提问于 2013-09-30 03:24:18
回答 2查看 140关注 0票数 0

这就是我想做的..。我用数据库查到了个人资料。数据库由两个表组成,分别是personal_data和国籍。第一用户可以查看他们的旧的个人信息,然后我将为他们制作更新/编辑页面。国籍在其他表格中是因为下拉菜单中的国籍。然后,用户可以更改他们的个人和信息,在他们插入新的信息后,他们点击提交按钮,然后转到process.php,在那里发生数据库的更新过程。我的问题是,我不知道如何定义/或如何连接更新查询中的两个表,即personal_data表和国籍表。

国籍守则

代码语言:javascript
复制
  <?php
            $query = "SELECT nationality_type FROM nationality";
            $result = mysql_query ($query); ?>
            <select name="personal_nationality" >
            <?php while($row = mysql_fetch_array($result)){ ?>
            <option value="<?php echo $row['nationality_type']?>"  <?php if ( $personal_nationality ==  $row['nationality_type']){ ?> selected <?php } ?>>
            <?php echo $row['nationality_type']?></option>
            <?php }?>
            </select>

process.php代码

代码语言:javascript
复制
    <?php

    $host="localhost"; // test local
    $username="lasadmin"; // Mysql username 
    $password="lasadmin"; // Mysql password 
    $db_name="eprofile"; // Database name 
    $db = mysql_connect($host, $username, $password); 
    $link = mysql_select_db($db_name,$db);


$personal_designation = $_POST['personal_designation'];
$personal_department = $_POST['personal_department'];
$personal_job_grade = $_POST['personal_job_grade'];
$personal_emp_group = $_POST['personal_emp_group'];
$personal_current_company = $_POST['personal_current_company'];
$personal_work_location = $_POST['personal_work_location'];


mysql_query("UPDATE personal_data SET personal_designation = '".mysql_real_escape_string($_POST["personal_designation"])."', personal_department = '".mysql_real_escape_string($_POST["personal_department"])."', personal_job_grade = '".mysql_real_escape_string($_POST["personal_job_grade"])."', personal_emp_group = '".mysql_real_escape_string($_POST["personal_emp_group"])."', personal_current_company = '".mysql_real_escape_string($_POST["personal_current_company"])."', personal_work_location = '".mysql_real_escape_string($_POST["personal_work_location"])."' WHERE LAS_login_id = '".mysql_real_escape_string($_POST["LAS_login_id"])."'");


$personal_full_name = $_POST['personal_full_name'];
$personal_title = $_POST['personal_title'];
$personal_date_birth = $_POST['personal_date_birth'];
$personal_marital_status = $_POST['personal_marital_status'];
$personal_nationality = $_POST['nationality_type'];


mysql_query("UPDATE personal_data SET personal_full_name = '".mysql_real_escape_string($_POST["personal_full_name"])."', personal_title = '".mysql_real_escape_string($_POST["personal_title"])."', personal_date_birth = '".mysql_real_escape_string($_POST["personal_date_birth"])."', personal_marital_status = '".mysql_real_escape_string($_POST["personal_marital_status"])."', nationality_type = '".mysql_real_escape_string($_POST["personal_nationality"])."' WHERE LAS_login_id = '".mysql_real_escape_string($_POST["LAS_login_id"])."'");


?>

当我试图更改信息(测试)时,这个错误在第26行的-Notice:未定义索引: nationality_type在C:\wamp\www\eprofile\process.php中显示。

这是第26行的代码

代码语言:javascript
复制
$personal_nationality = $_POST['nationality_type'];

你能告诉我问题是什么吗?这个问题的解决办法是什么?我应该对定义的索引做些什么??

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-30 03:43:18

首先,我建议转义由$_POST变量接收的内容。您不需要将其复制到额外的变量中。(除非我们用它来做不同的事情)

第二个问题是$LAS_login_id没有初始化,没有值,所以UPDATE语句不会更新任何内容。

代码语言:javascript
复制
//simple update
mysql_query("UPDATE mytable SET 
myvalue = '".mysql_real_escape_string($_POST["my_value"])."' 
WHERE mycriteria = '".mysql_real_escape_string($_POST["my_criteria"])."'");

并且应该有一个以nationality_type为索引的数组,这也是未定义的。

票数 0
EN

Stack Overflow用户

发布于 2013-09-30 03:35:49

你有两个问题。

THe第一个在您的UPDATE查询中。

代码语言:javascript
复制
WHERE LAS_login_id= '$LAS_login_id'

你在哪里找到$LAS_login_id的?你不能在我能看到的任何地方定义它..。

第二个问题是您的索引nationality_type没有包含在上面的代码中.

希望这能有所帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19086014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档