php - 两种形式,两个单独的页面希望第一种形式写入 sql 中的表,第二种形式添加到填充空白的特定表

标签 php html mysql sql forms

(我的第一个网站只是一个有趣的小实验) 所以这部分工作正常,它接收从另一个页面上的表单输入的信息。它添加到“用户”表中,该表由“用户”、“通行证”(从给定的 php 代码添加)和“ID”组成,在添加到表时自动递增,然后 'screen_name' 和 'email' 我想通过另一种形式进一步添加到给定的表格中。

<?
    session_start();
    include('dbconn.php');
    $username = $_POST['user'];
    $password = $_POST['pass'];
    $sql = "INSERT INTO `user`(`user`, `pass`) VALUES ('".$username."','".$password."')";
    $run = mysql_query($sql);

    if($run){
        $_SESSION['username'] = $username;

    }
?>

这部分代码要求提供电子邮件地址和屏幕名称,然后将其进一步存储在数据库中,但我希望将其添加到特定用户的信息中。由于“用户”和“通行证”已经保存,我们的想法是进一步向该特定用户添加“屏幕名称”和“电子邮件”。不确定我在这里做错了什么。此外,每次我刷新页面时,都会将一个空白用户添加到数据库中的一个字段。

       <form id="contact-form" method="post">
            <div>
                <label>
                    <span>Userame/Screen Name:</span>
                    <input placeholder="Please enter your name" name="screen_name" type="text" tabindex="1" required autofocus>
                </label>
            </div>
            <div>
                <label>
                    <span>Email:</span>
                    <input placeholder="Please enter your email address" name="email" type="email" tabindex="2" required>
                </label>
            </div>
            <div>
                <button name="submit" type="submit" id="contact-submit" data-text="...Sending">Submit</button>
            </div>
                <input type="hidden" name="user" value="<?php echo $_POST['user']; ?> />
        </form>

这是连接到上述表格的代码,它在同一页上,出于某种原因,我什至无法将它添加到数据库中的任何字段,更不用说已经为新用户。

<?php
session_start();
include('dbconn.php');
$screen_name = $_POST['screen_name'];
$email = $_POST['email'];
$sql = "UPDATE `user` SET `screen_name` = '$screen_name', `email` = '$email' WHERE user = $username";
$run = mysql_query($sql);
?>  

如有任何帮助,我们将不胜感激。通常不是一个寻求帮助的人,而是因为在这个问题上停留了很长时间并浏览了多个 Stackoverflow 帖子,我想我会添加我自己的问题!

最佳答案

似乎在您的第二个 PHP 脚本中您没有初始化 $username。 您可能应该添加 $username = $_SESSION['username']; 您还需要在查询中用引号将其括起来。

关于页面刷新时插入的空白用户,我的猜测是执行了第一个 php 脚本,但未设置 $_POST 变量。

最后,您应该阅读 SQL 注入(inject) http://php.net/manual/en/security.database.sql-injection.php

关于php - 两种形式,两个单独的页面希望第一种形式写入 sql 中的表,第二种形式添加到填充空白的特定表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23818997/

相关文章:

php - 如何向3个表中插入数据?

html - css 透明效果 Cordova

MySQL - 按一个字段排序直到结果为空然后按另一个字段排序

php - JSONException : Value <br cannot be converted into JSONobject

php - CodeIgniter 获取 URL

c# - 如何通过电子邮件正文需要支持 HTML 的 SMTP 保留换行符

javascript - jQuery 缩放 DIV

mysql - 如何判断两个人是否互相关注

mysql - 日期时间的奇怪行为

php - 用元素符号创建图像