[英]Php form: register users
我只是从php开始,而我想知道如何制作注册表格。 我不确定如何将值添加到数据库中。 我正在为数据库使用phpMyAdmin。
我在这里输入:
<div id="registerSpace">
<form id="formulaireInscription2" name="formSignup" method="post" action="signUp.php">
<div class="registerUsername"><input type="text" placeholder="Username" name="txtUserName" /><span class="textInputs"></span></div>
<div class="registerNom"><input type="text" placeholder="First name" name="txtNom" /><span class="textInputs">First name</span></div>
<div class="registerPrenom"><input type="text" placeholder="Last name" name="txtPrenom" /><span class="textInputs">Family name</span></div>
<div class="registerPassword"><input type="password" placeholder="Password" name="txtPassword" /><span class="textInputs">Password</span></div>
<div class="dropLogonContentOptions"><input type="submit" value="Sign Up" name="send" />
</form>
</div>
我将所有代码都放在signUp.php中。 在phpMyAdmin中,我的数据库名为jleggett_colourful ,而我的表(其中用户,密码,名字blabla)为: t_usagers 。
在这里,我有u_id(自动递增,仅数字),u_nom(姓氏),u_prenom(名字),u_courriel(邮件,还有用户名!)和u_password。
将其添加到数据库的最佳方法是什么? 我在这里有此代码:
<?php
session_start();
include 'inc/define.inc.php';
include 'inc/fct.inc.php';
if (isset($_POST["txtUserName"]) && isset($_POST["txtNom"]) && isset($_POST["txtPrenom"]) && isset($_POST["txtPassword"]))
{
// Ouvre une connexion au serveur MySQL
$connection = mysql_connect(NOM_SERVEUR, USER_NOM, USER_PASSWORD) or die("Impossible de se connecter : " . mysql_error());
if (!$connection) {
fin_perso('Problème de connexion au serveur : '. ' ---' . NOM_SERVEUR. '- - -' . USER_NOM. '- - -' . USER_PASSWORD. '- - - ' . mysql_error(), 'erreur_bd_');
}
// S�lectionne une base de données MySQL
if (!mysql_select_db(NOM_BD))
{
fin_perso('Problème de connexion à la base de données : ' . mysql_error(), 'erreur_bd');
}
$sql = "INSERT INTO t_usager (u_nom, u_prenom, u_password) VALUES ('fdfs', 'qwerty', '456789')";
else
echo "Please, enter all informations"
?>
我在这里有点迷路,但是应该看起来像这样! 连接到数据库的代码是正确的,我只是不知道如何将其与表单中的值相加。 谢谢! (我输入了默认值,仅用于在$ sql中进行测试)。
您将更改以下内容:
$sql = "INSERT INTO t_usager (u_nom, u_prenom, u_password) VALUES ('fdfs', 'qwerty', '456789')";
使用$ _POST数组中的值(即$ _POST ['txtUsername'])。 然后,在为查询生成字符串之后,您将需要调用mysql_query($ sql);。 为了实际运行查询。
我相信您在代码中还缺少一对{},因为上面带有$ sql的行当前无效(后面紧跟着else,因为如果可以关联,附近就没有)。
代码示例:
$nom = mysql_real_escape_string ( $_POST [ 'txtNom' ] );
$preNom = mysql_real_escape_string ( $_POST [ 'txtPrenom' ] );
$pass = mysql_real_escape_string ( $_POST [ 'txtPassword' ] );
$sql = "INSERT INTO t_usager (u_nom, u_prenom, u_password) VALUES ('$nom', '$preNom', '$pass')";
Judda的答案肯定有效,但是SQL注入的风险是如此之高,以至于超越了“风险”领域,变得更加确定。
我建议您获得一本不错的基本手册(O'reilly的“对初学者来说,学习PHP,MySQL和Javascript非常简单,直接”),并学习在处理数据库时要遵守的基本安全规则。
剧透,逃跑是不够的; 您将需要准备好的声明。
如果你不想买一本书,那么请对上帝的爱读这个才去任何进一步。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.