小编Cod*_*per的帖子

使用php将CSV上传到数据库

我正在研究我的一个小项目,我得出结论,能够自动将excel表格上传到我的数据库将是非常非常有用的,问题是我不知道从哪里开始,我研究了一下,并决定使用从Excel工作表创建的CSV文件将数据上传到我的数据库表中.

大多数的例子我看起来好像把PHP代码搞砸到html而不是将逻辑划分到不同的文件中,就像我过去2个月里一直在做的那样.

我现在拥有的是html中的上传表单:

       <form enctype="multipart/form-data" method="post" id="uploadForm">
          <input name="filesfiles" id="upload" type="file" accept=".csv" class="left" />
          <input type="submit" value="Cargar" />
       </form>
Run Code Online (Sandbox Code Playgroud)

以及CSV文件在文本中的外观的一小部分示例:

Cedula;Nombre;Apellido1;Apellido2;Correo;IdRol;Estado
1657890;Dominico;Scarlatti;Viera;leetrills@yahoo.com;2;0
5657890;Franz;Listz;Linerman;flizts@hotmail.com;3;0
Run Code Online (Sandbox Code Playgroud)

或者在其他一些excel版本中:

Cedula,Nombre,Primer Apellido,Segundo Apellido,Correo,IDRol,Estado
126548791,Franz ,Ritter ,von Liszt,fliszt@arppegio.com,3,0
174657109,Sofia ,Asgatovna ,Gubaidulina ,gubaidulina@yahoo.com,3,0
Run Code Online (Sandbox Code Playgroud)

第一行是我要将文件上传到的表的列名(在添加信息时应该忽略).

问题是,一旦将提交按钮单击到我的包含中将CSV插入表格中的PHP代码,我就不知道如何链接上传文件.

非常感谢提前

编辑:

JSFiddle的上传表单

EDIT4:

我是一个纯天才和技巧的中风Maduka能够帮助我解决这个庞然大物的问题.我不能够感谢他,以下是使用的代码,希望它有朝一日可以服务某人并为他们挽救失败的悲痛.

<?php

error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_WARNING & ~E_STRICT);

mysql_connect('localhost', 'root', '');
mysql_select_db("proyecto") or die(mysql_error());

if (isset($_FILES['csvupload'])) {
    $errors = array();
    $allowed_ext = array('.csv');

    $file_name = $_FILES['csvupload']['name'];
    $file_ext = strtolower(end(explode('.', $file_name)));
    $file_size = $_FILES['csvupload']['size'];
    $file_tmp = $_FILES['csvupload']['tmp_name']; …
Run Code Online (Sandbox Code Playgroud)

php mysql csv

5
推荐指数
1
解决办法
4816
查看次数

使用哈希密码验证用户的流程?

当我进入这一部分时,我正在阅读有关散列密码的文章

验证密码

  1. 从数据库中检索用户的盐和哈希值。
  2. 将盐添加到给定的密码之前,并使用相同的哈希函数对其进行哈希处理。
  3. 将给定密码的哈希与数据库中的哈希进行比较。如果它们匹配,则密码正确。否则,密码错误。

但是我对接下来的流程有些困惑,例如,假设我有一个数据库,其中包含一个包含ID,名称,密码和电子邮件的用户表,并且要登录某个应用程序,我需要输入电子邮件和密码。

按照上述步骤,我首先需要获取存储在数据库中的该用户的salt + hash密码。

题:

假设我正在使用一个简单的存储过程,那么唯一的方法就是像这样...

    CREATE PROCEDURE [dbo].[sp_validate_user]

@us_email VARCHAR (MAX)
AS
BEGIN
 -- SET NOCOUNT ON added to prevent extra result sets from
 -- interfering with SELECT statements.
 SET NOCOUNT ON;

    -- Insert statements for procedure here

SELECT  us_id,
        us_name,
        us_pass,
        us_email


 FROM  Users
 WHERE us_email = @us_email

END
Run Code Online (Sandbox Code Playgroud)

然后执行第二步和第三步:

    public static bool ValidatePassword(string inputPassword, string storedPassword)
    {
        // Extract the parameters from the hash
        char[] delimiter = { ':' }; …
Run Code Online (Sandbox Code Playgroud)

c# passwords

2
推荐指数
1
解决办法
1829
查看次数

标签 统计

c# ×1

csv ×1

mysql ×1

passwords ×1

php ×1