Firstly i added text view with notice(and some warning too) about my problem.
Notice: Undefined index: first_name in C:\my_projects\phplearn\www\ch07\create_user.php on line 17
Notice: Undefined index: last_name in C:\my_projects\phplearn\www\ch07\create_user.php on line 19
Notice: Undefined index: email in C:\my_projects\phplearn\www\ch07\create_user.php on line 21
Notice: Undefined index: bio in C:\my_projects\phplearn\www\ch07\create_user.php on line 23
Notice: Undefined index: facebook_url in C:\my_projects\phplearn\www\ch07\create_user.php on line 25
Notice: Undefined index: twitter_handle in C:\my_projects\phplearn\www\ch07\create_user.php on line 40
Notice: Undefined index: user_pic in C:\my_projects\phplearn\www\ch07\create_user.php on line 49
Notice: Trying to access array offset on value of type null in C:\my_projects\phplearn\www\ch07\create_user.php on line 49
Notice: Undefined index: user_pic in C:\my_projects\phplearn\www\ch07\create_user.php on line 57
Notice: Trying to access array offset on value of type null in C:\my_projects\phplearn\www\ch07\create_user.php on line 57
Warning: Header may not contain more than a single header, new line detected in C:\my_projects\phplearn\www\stack\scripts\app_config.php on line 63
The problem started when I added this piece of code:
($_FILES[$image_fieldname]['error'] == 0)
or redirectToError("сервер не может получить выбранное вами изображение.", $php_errors[$_FILES[$image_fieldname]['error']]);
@is_uploaded_file($_FILES[$image_fieldname]['tmp_name'])
or redirectToError('<pre>',"Ты в норме? Зачем ты это пытался загрузить?
Запрос на отправку: файл назывался " , "{$_FILES[$image_fieldname]['tmp_name']}", '</pre>');
@getimagesize($_FILES[$image_fieldname]['tmp_name'])
or redirectToError('<pre>', "вы выбрали файл для своего фото, который не является изображением." , "{$_FILES[$image_fieldname]['tmp_name']}" , "не является файлом изображения.", '</pre>');
$now = time();
while (file_exists($upload_filename = $upload_dir . $now . '-' . $_FILES[$image_fieldname]['name'])) {
$now++;
}
move_uploaded_file($_FILES[$image_fieldname]['tmp_name'], $upload_filename)
or redirectToError('<pre>',"возникла проблема сохранения вашего изображения в его постоянном месте. Ошибка, связанная с правами доступа при перемещении файла в {$upload_filename}", '</pre>');
This is all my code in this file.
<?php
$link = require_once ('../stack/scripts/database_connection.php');
$upload_dir = HOST_WWW_ROOT . "uploads/profile_pics";
$image_fieldname = "user_pic";
$php_errors = array(1 => 'Превышен макс. размер файла, указанный в php.ini',
2 => 'Превышен макс. размер файла, указанный в форме HTML',
3 => 'Была отправлена только часть файла',
4 => 'Файл для отправки не был выбран.');
$first_name = trim($_REQUEST['first_name']);
$last_name = trim($_REQUEST['last_name']);
$email = trim($_REQUEST['email']);
$bio = trim($_REQUEST['bio']);
$facebook_url = str_replace("facebook.org", "facebook.com", trim($_REQUEST['facebook_url']));
if (preg_match("/^\s*(http:\/\/www.facebook.com\/)/" , $facebook_url)) {
$facebook_url === true;
} else {
$facebook_url = "http://www.facebook.com/" . $facebook_url;
}
$twitter_handle = trim($_REQUEST['twitter_handle']);
$twitter_url = "http://www.twitter.com/";
if (preg_match("/^\s*(@)/" , $twitter_handle)) {
$twitter_url = $twitter_url . $twitter_handle;
}
($_FILES[$image_fieldname]['error'] == 0)
or redirectToError("сервер не может получить выбранное вами изображение.", $php_errors[$_FILES[$image_fieldname]['error']]);
@is_uploaded_file($_FILES[$image_fieldname]['tmp_name'])
or redirectToError('<pre>',"Ты в норме? Зачем ты это пытался загрузить?
Запрос на отправку: файл назывался " , "{$_FILES[$image_fieldname]['tmp_name']}", '</pre>');
@getimagesize($_FILES[$image_fieldname]['tmp_name'])
or redirectToError('<pre>', "вы выбрали файл для своего фото, который не является изображением." , "{$_FILES[$image_fieldname]['tmp_name']}" , "не является файлом изображения.", '</pre>');
$now = time();
while (file_exists($upload_filename = $upload_dir . $now . '-' . $_FILES[$image_fieldname]['name'])) {
$now++;
}
move_uploaded_file($_FILES[$image_fieldname]['tmp_name'], $upload_filename)
or redirectToError('<pre>',"возникла проблема сохранения вашего изображения в его постоянном месте. Ошибка, связанная с правами доступа при перемещении файла в {$upload_filename}", '</pre>');
$insert_sql = "INSERT INTO users (first_name, last_name, email, bio, facebook_url, twitter_handle)
VALUES ('{$first_name}', '{$last_name}', '{$email}', '{$bio}', '{$facebook_url}', '{$twitter_handle}');";
mysqli_query($link, $insert_sql)
or die(mysqli_error($link));
header("Location: show_user.php?user_id=" . mysqli_insert_id($link));
?>
<html>
<head>
<link href="../stack/css/phpMM.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="header"> <h1>PHP & MySQL: The Missing Manual</h1></div>
<div id="example"> Пример 3.1</div>
<div id="content">
<p>Это запись той информации, которую вы отправили:</p>
<p>
Имя: <?php echo $first_name . " " . $last_name;?></br>
Адрес электронной почты: <?php echo $email;?></br>
<a href="<?php echo $facebook_url; ?>">Ваша страница на Facebook:</a></br>
<a href="<?php echo $twitter_url; ?>">Проверьте свой Twitter - канал</a></br>
</p>
</div>
<div id="footer"></div>
</body>
</html>
This is my first time I ask a question here, so I apologize if the form of my question is uncomfortable. Help, pls. Thx
UPD about header function. This is my AppConfig.php
<?php
define("DEBUG_MODE", true);
define("SITE_ROOT", "/stack/");
define("HOST_WWW_ROOT", "C:/my_projects/phplearn/www/stack/");
define("DATABASE_HOST", "localhost");
define("DATABASE_USERNAME", "root");
define("DATABASE_PASSWORD", "");
define("DATABASE_NAME", "testdb");
$testArray = [
"key1" => "value1",
"key2" => "value2",
"key3" => "value3",
];
function debug_print($testArray) {
if (DEBUG_MODE) {
echo '<pre>' . print_r($testArray, 1) . '</pre>';
echo generateCallTrace();
}
}
/*My friend give me this function, im not good understand what`s going on here, eh*/
function generateCallTrace()
{
$e = new Exception();
$trace = explode("\n", $e->getTraceAsString());
// reverse array to make steps line up chronologically
$trace = array_reverse($trace);
array_shift($trace); // remove {main}
array_pop($trace); // remove call to this method
$length = count($trace);
$result = array();
for ($i = 0; $i < $length; $i++)
{
$result[] = ($i + 1) . ')' . substr($trace[$i], strpos($trace[$i], ' ')); // replace '#someNum' with '$i)', set the right ordering
}
return "\t" . implode("\n\t", $result);
}
function redirectToError($msg, $error_msg = null) {
if ($error_msg != null) {
header("Location: " . SITE_ROOT . "scripts/show_error.php?error_message={$msg}&system_error_message={$error_msg}");
} else {
header("Location: " . SITE_ROOT . "scripts/show_error.php?error_message={$msg}");
}
die();
}```