Im Folgenden ist der Code zum Hochladen einer CSV-Datei. Einige Dateien werden ordnungsgemäß hochgeladen, aber nur wenige werden nicht korrekt hochgeladen.i.e. Es heißt "Mitglieder Daten wurde erfolgreich eingefügt." Aber wenn ich db sehe, sind Datensätze nicht da Bitte überprüfen Sie den Code einmal und lassen Sie mich wissen, wenn es einen Fehler gibt.CSV-Datei wird nicht hochgeladen
<?php
//load the database configuration file
include 'csv_css.css';
include 'dbConfig.php';
if(!empty($_GET['status'])){
switch($_GET['status']){
case 'succ':
$statusMsgClass = 'alert-success';
$statusMsg = 'Members data has been inserted successfully.';
break;
case 'err':
$statusMsgClass = 'alert-danger';
$statusMsg = 'Some problem occurred, please try again.';
break;
case 'invalid_file':
$statusMsgClass = 'alert-danger';
$statusMsg = 'Please upload a valid CSV file.';
break;
default:
$statusMsgClass = '';
$statusMsg = '';
}
}
?>
<div class="container">
<?php if(!empty($statusMsg)){
echo '<div class="alert '.$statusMsgClass.'">'.$statusMsg.'</div>';
}
?>
<div class="panel panel-default">
<div class="panel-heading">
Members list
<a href="javascript:void(0);" onclick="$('#importFrm').slideToggle();">Import Members</a>
</div>
<div class="panel-body">
<form action="import_usait.php" method="post" enctype="multipart/form-data" id="importFrm">
<input type="file" name="file" />
<input type="submit" class="btn btn-primary" name="importSubmit" value="IMPORT">
</form>
<table class="table table-bordered">
<thead>
<tr>
<th>ContactOwner</th>
<th>LeadSource</th>
<th>Firstname</th>
<th>Lastname</th>
<th>Accountname</th>
<th>Title</th>
<th>EmailID</th>
<th>Department</th>
<th>Industry</th>
<th>Phone</th>
<th>Mobile</th>
<th>Fax</th>
<th>DOB</th>
<th>Asssistant</th>
<th>Asstphone</th>
<th>ReportsTo</th>
<th>LinkedIn</th>
<th>Street</th>
<th>OtherStreet</th>
<th>City</th>
<th>State</th>
<th>Zip</th>
<th>Country</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<?php
//get records from database
$query = $db->query("SELECT * FROM contact ORDER BY id DESC");
if($query->num_rows > 0){
while($row = $query->fetch_assoc()){ ?>
<tr>
<td><?php echo $row['id']; ?></td>
<td><?php echo $row['ContactOwner']; ?></td>
<td><?php echo $row['LeadSource']; ?></td>
<td><?php echo $row['Firstname']; ?></td>
<td><?php echo $row['Lastname']; ?></td>
<td><?php echo $row['Accountname']; ?></td>
<td><?php echo $row['Title']; ?></td>
<td><?php echo $row['EmailID'];?></td>
<td><?php echo $row['Department'];?></td>
<td><?php echo $row['Industry'];?></td>
<td><?php echo $row['Phone']; ?></td>
<td><?php echo $row['Mobile']; ?></td>
<td><?php echo $row['Fax'];?></td>
<td><?php echo $row['DOB'];?></td>
<td><?php echo $row['Asssistant'];?></td>
<td><?php echo $row['Asstphone'];?></td>
<td><?php echo $row['ReportsTo'];?></td>
<td><?php echo $row['LinkedIn'];?></td>
<td><?php echo $row['Street'];?></td>
<td><?php echo $row['OtherStreet'];?></td>
<td><?php echo $row['City']; ?></td>
<td><?php echo $row['State'];?></td>
<td><?php echo $row['Zip'];?></td>
<td><?php echo $row['Country'];?></td>
<td><?php echo $row['Description'];?></td>
</tr>
<?php
}
}else{
?>
<tr><td colspan="25">No member(s) found.....</td></tr>
<?php } ?>
</tbody>
</table>
</div>
</div>
</div>
import_usait.php Datei:
<?php
//load the database configuration file
include 'dbConfig.php';
if(isset($_POST['importSubmit'])){
//validate whether uploaded file is a csv file
$csvMimes = array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel', 'text/plain');
if(!empty($_FILES['file']['name']) && in_array($_FILES['file']['type'],$csvMimes)){
if(is_uploaded_file($_FILES['file']['tmp_name'])){
//open uploaded csv file with read only mode
$csvFile = fopen($_FILES['file']['tmp_name'], 'r');
//skip first line
fgetcsv($csvFile);
//parse data from csv file line by line
while(($line = fgetcsv($csvFile)) !== FALSE){
//check whether member already exists in database with same Category
//insert member data into database
$db->query("INSERT INTO contact
(ContactOwner, LeadSource, Firstname,
Lastname,Accountname, Title,
EmailID, Department,Industry,
Phone, Mobile, Fax, DOB, Assistant,
Asstphone, ReportsTo, LinkedIn, Street,
OtherStreet, City, State, Zip,
Country, Description)
VALUES
('".$line[0]."','".$line[1]."','".$line[2].
"','".$line[3]."','".$line[4]."','".$line[5].
"','".$line[6]."','".$line[7]."','".$line[8].
",'".$line[9]."','".$line[10].",'".$line[11]."','".$line[12].",'".$line[13].
"','".$line[14].",'".$line[15]."','".$line[16].",'".$line[17].
"','".$line[18].",'".$line[19]."','".$line[20].",'".$line[21].
"','".$line[22].",'".$line[23]."')");
}
//close opened csv file
fclose($csvFile);
$qstring = '?status=succ';
}else{
$qstring = '?status=err';
}
}else{
$qstring = '?status=invalid_file';
}
}
//redirect to the listing page
header("Location: usa_it.php".$qstring);
Informieren Sie sich über vorbereitete Anweisung zur Vermeidung von SQL-Injektion – Jens
Vielleicht ist es ein Problem mit der Größe? – Jens
Überprüfen Sie Ihre Protokolle. Wenn irgendwo etwas falsch ist, sollte es dort auftauchen. – junkfoodjunkie