我发现这个代码在Internet上根据我的要求首次使用EOF进行了更改。我不明白为什么会出现错误。 未定义的变量:第70行的内容!!!我知道它是未定义的,但我不知道如何解决它。
<?php
define('DB_SERVER', 'localhost');
define('DB_USER', 'root');
define('DB_PASSWORD',"");
define('DB_NAME', 'uploadcsv');
@$conn = mysql_connect (DB_SERVER, DB_USER, DB_PASSWORD);
mysql_select_db (DB_NAME,$conn);
if(!$conn){
die( "Sorry! There seems to be a problem connecting to our database.");
}
function get_file_extension($file_name) {
return end(explode('.',$file_name));
}
$error="";
function errors($error){
if (!empty($error))
{
$i = 0;
$showError="";
while ($i < count($error)){
$showError.= '<div class="msg-error">'.$error[$i].'</div>';
$i ++;}
return $showError;
}// close if empty errors
} // close function
if (isset($_POST['upfile'])){
// check feilds are not empty
if(get_file_extension($_FILES["uploaded"]["name"])!= 'csv')
{
$error[] = 'Only CSV files accepted!';
}
if (!$error){
$tot = 0;
$handle = fopen($_FILES["uploaded"]["tmp_name"], "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
for ($c=0; $c < 1; $c++) {
if($data[0] !='keywords'){
mysql_query("INSERT INTO fields(
keywords,
tags
)VALUES(
'".mysql_real_escape_string($data[0])."',
'".mysql_real_escape_string($data[1])."'
)")or die(mysql_error());
}
$tot++;}
}
fclose($handle);
$content.= "<div class='success' id='message'> CSV File Imported, $tot records added </div>";
}// end no error
}//close if isset upfile
$er = errors($error);
$content.= <<<EOF
<h3>Import CSV Data</h3>
$er
<form enctype="multipart/form-data" action="" method="post">
File:<input name="uploaded" type="file" maxlength="20" /><input type="submit" name="upfile" value="Upload File">
</form>
EOF;
echo $content;
?>
答案 0 :(得分:0)
这是因为你没有创建变量。 $content
的第一个用法是为其添加字符串部分。
所以在第59
行
$content.= "<div class='success' id='message'> CSV File Imported, $tot records added </div>";
在.
之前移除=
应该使变量有效,因为您正在创建它,而不是尝试连接它。
$content= "<div class='success' id='message'> CSV File Imported, $tot records added </div>";