环境是MAMP,PHP版本是7.1.19。 我们假设登录页面上的联系表格不使用框架等。
下面,在form.html中选择一个图像,将“提交”推到“确认屏幕”,然后在日志中的$ _FILES中显示图像数据,以将图像上传处理的代码添加到confirm.php中。
但是,即使您尝试使用error_log('confirm-files:'。Print_r($ _FILES,true),'0')在日志文件中显示$ _FILES的内容; Array()我看不到内容。顺便说一下,文件名显示在$ _POST中。
请告诉我们为什么看不到$ _ FILES的内容。
然后,将数据库另存为服务器上的tmp文件而不使用数据库,转换到thank.php之后,我们将添加要注册到客户管理系统的过程。 谢谢。
・联系方式
Label collapseButton = new Label();
collapseButton.textProperty().bind(
Bindings.when(titledPane.expandedProperty())
.then("\u25bc").otherwise("\u25b6"));
titledPane.setGraphic(collapseButton);
titledPane.setContentDisplay(ContentDisplay.RIGHT);
・ confirm.php
<form method="post" action="<?=$sfm_script?>" class="form" enctype="multipart/form-data">
<div class="file">
<label for="file1">Select files
<input type="file" id="file1" name="file1" onchange="$('.file_name1').text($(this).val())" class="file_name1"></label><span class="file_name1">
</div>
<button type="submit">To confirmation screen</button>
<input type="hidden" name="mailToNum" id="mailToNum" value="3">
<input type="hidden" name="autoReply" id="autoReply" value="1">
<input type="hidden" name="mode" id="mode" value="CONFIRM">
<?php if (array_key_exists('pram', $formvalue)):?>
<input type="hidden" name="pram" id="pram" value="<?=$formvalue['pram']?>">
<?php else:?>
<input type="hidden" name="pram" id="pram" value="">
<?php endif; ?>
</form>
・ $ _FILES日志
<?php header("Content-type: text/html; charset=utf-8") ?>
<?php
include_once('config.php');
if (!extension_loaded('mbstring')) {
Err('mbstring');
}
$internalEnc = 'UTF-8';
mb_language('ja');
mb_internal_encoding($internalEnc);
// main
if (!isset($mailTo[0])) {
Err('mailaddress');
}
$mode = (isset($_POST['mode'])) ? $_POST['mode'] : '';
error_log ('confirm-files:' . print_r($_FILES,true), '0');
switch ($mode) {
case 'SEND':
session_cache_limiter('nocache');
session_start();
//Om
include_once('thanks.html');
break;
case 'CONFIRM':
if ($_SERVER['HTTP_REFERER'] != 'http://'.$_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] && $refCheck) {
Err('It can not be used from outside');
}
session_cache_limiter('nocache');
session_start();
unset($_SESSION['SFM']);
$error = $email = '';
foreach ($_POST as $key => $value) {
if (is_array($value)) {
$value = implode("\t", $value);
}
if (!$ill_slash) {
$value = (!get_magic_quotes_gpc()) ? addslashes($value) : $value;
}
if (!$ill_char) {
$value = mb_convert_encoding($value, $internalEnc, $baseEnc);
}
$value = mb_convert_kana($value, 'KV', $internalEnc);
$name = preg_replace('/(.+)_i$/', "$1", $key);
if (preg_match('/_i$/', $key) && $value == '') {
$_SESSION['SFM'][$name] = '::INPUT ERROR::';
$error = 1;
} elseif ($name == 'email' && $value) {
if (!preg_match("/^[\w\-\.\+]+\@[\w\-\.]+\.([a-z]+)$/", $value)) {
$_SESSION['SFM']['email'] = '::EMAIL ERROR::';
$error = $email = 1;
} else {
$_SESSION['SFM']['email'] = $email = $value;
}
} elseif ($name == 'emailcheck') {
if ($email != 1 && $email != $value) {
$_SESSION['SFM']['email'] = '::EMAIL CHECK ERROR::';
$error = 1;
}
} elseif ($maxText && strlen($value) > $maxText) {
$_SESSION['SFM'][$name] = '::MAXTEXT ERROR::';
$error = 1;
} else {
$_SESSION['SFM'][$name] = $value;
}
}
$_SESSION['SFM']['InputErr'] = $error;
//$sfm_script = $script_name . ((SID) ? '?'.strip_tags(SID) : '');
$sfm_script = "thanks.php";
include_once('confirm.html');
break;
default:
session_cache_limiter('private_no_expire');
session_start();
unset($_SESSION['SFM']);
//$sfm_script = $script_name;
$sfm_script = "confirm.php";
include_once('form.html');
}
exit;
function FORM_DATA_H($name) {
$errArray = array(
'::INPUT ERROR::' => '<span class="req">Required</span>',
'::EMAIL ERROR::' => 'E-mail address is invalid',
'::EMAIL CHECK ERROR::' => 'Mail address does not match',
'::MAXTEXT ERROR::' => 'Too many characters (upper limit ' . number_format($GLOBALS['maxText']) . ')'
);
$value = (isset($_SESSION['SFM'][$name])) ? $_SESSION['SFM'][$name] : '';
$value = (get_magic_quotes_gpc()) ? stripslashes($value) : $value;
$value = str_replace("\t", "\n", $value);
$value = nl2br(htmlspecialchars($value, ENT_QUOTES, 'UTF-8'));
$value = (preg_match('/::.+::/', $value)) ? '<span class="ERR">' . $errArray[$value] . '</span>' : $value;
$value = ($value != '') ? $value : ' ';
return mb_convert_encoding($value, $GLOBALS['baseEnc'], $GLOBALS['internalEnc']);
}
?>
・我以后要添加的上传过程
[10-Mar-2019 09:15:55 Asia/Tokyo] files:Array
(
)
答案 0 :(得分:0)
您的问题已得到很好的记录,如果我不愿意查找实例,则应将您的问题作为此处已被多次询问和回答的多次重复来关闭。您尚未设置表单编码,因此默认为URL编码。
应为enctype="multipart/form-data"