Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 23.11.2015
Сообщений: 46

Залить картинку на сервер

29.02.2016, 13:01. Показов 1289. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не знаю как залить картинку на сервер и передать название картинки в бд, в месте с другими значениями.

Исходный код:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
if (isset($_POST['name']))
{
$name = $_POST['name']; 
}
if (isset($_POST['email']))
{
$email = $_POST['email'];   
}
 
// К примеру такое название значения картинки
if (isset($_FILES['img']))
{
$img= $_POST['img'];   
}
 
 
$db = mysql_connect ("localhost","c8100_dmitry","123456");
mysql_select_db("c8100_baza",$db);
 
$result = mysql_query ("INSERT INTO tabl (name, email) VALUES ('$name', '$email')");
}
Прошу помочь разобраться.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.02.2016, 13:01
Ответы с готовыми решениями:

Залить картинку на сервер
<div class="form-row" id="f_images"> <label class="form-label" for="fld_images"><span id="js-photo-label">Фотографии</span><span...

Как залить картинку (скриншот) на ресурс?
Есть код скриншота на кнопке. В общем, надо чтобы при нажатии на кнопку, делался скриншот, отправлялся на ресурс, допустим на radikal.cc и...

Уменьшить картинку и залить оба варианта в БД
облазил уже вроде бы абсолютно все но не нашел то что искал или может нашел но не понял :(( если можно простыми словами на тему картинок. ...

21
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
29.02.2016, 13:04
Тыц.

Название картинки - это что? Оригинальное название файла, когда он лежал на компе юзера? Если так, то оно лежит в $_FILES['userfile']['name'] (если input был назван userfile).
0
0 / 0 / 0
Регистрация: 23.11.2015
Сообщений: 46
29.02.2016, 13:12  [ТС]
Название картинки выбирает пользователь, картинка должна уйти на сервер, и путь записаться в бд. Уже какой день не могу разобраться. Как мне это сделать?
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
29.02.2016, 13:20
Цитата Сообщение от Дмитрий_А Посмотреть сообщение
картинка должна уйти на сервер
С помощью move_uploaded_file() переносите картинку в хранилище (например, site.ru/images/), только нужно продумать, как картинкам давать уникальные названия.

Название картинки и путь к ней сохраняете в БД.

На каком этапе возникли сложности?
0
0 / 0 / 0
Регистрация: 23.11.2015
Сообщений: 46
29.02.2016, 13:47  [ТС]
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
if (isset($_POST['name']))
{
$name = $_POST['name']; 
}
if (isset($_POST['email']))
{
$email = $_POST['email'];   
}
 
if (isset($_FILES['img']))
{
$img = $_FILES['img'];  
}
 
$type = $img['type'];
$type = str_replace("images/","", $type);
 
if (
    $type == 'jpg' &&
    $type == 'png' &&
    $type == 'jpeg'
    )
 
$name_img = unicid().".".$type;
$img_url = 'server/images'.$name_img;
$path = ROOT.'/'.$img_url;
move_uploaded_file($img['tmp_name'], $path);
 
$db = mysql_connect ("localhost","c8100_dmitry","123456");
mysql_select_db("c8100_baza",$db);
 
$result = mysql_query ("INSERT INTO tabl (name, email, img_url) VALUES ('$name', '$email', '$img')");
}
Сложность в том, что не могу найти здесь ошибку. Картинка на сервер не заливается, а в бд где должен быть прописан путь к картинке на сервере выходит Array.
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
29.02.2016, 14:21
Цитата Сообщение от Дмитрий_А Посмотреть сообщение
$img = $_FILES['img'];
$_FILES['img'] - это массив. Логично, что в базу записывается Array(). Вам нужно туда подставить имя, которое юзер ввёл в другом поле (насколько я понял задачу). Т.е. что-то вроде $_POST['img_name'], создав это поле в форме.
0
0 / 0 / 0
Регистрация: 23.11.2015
Сообщений: 46
29.02.2016, 15:17  [ТС]
Цитата Сообщение от Jodah Посмотреть сообщение
$_POST['img_name'], создав это поле в форме.
Я это не совсем понял, лучше примере.

И картинка на сервере не сохраняется, хотя путь прописал.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
if (isset($_POST['name']))
{
$name = $_POST['name']; 
}
if (isset($_POST['email']))
{
$email = $_POST['email'];   
}
 
if (isset($_POST['img_url']))
{
$img = $_POST['img_url'];  
}
 
$type = $img['type'];
$type = str_replace("images/","", $type);
 
if (
    $type == 'jpg' &&
    $type == 'png' &&
    $type == 'jpeg'
    )
 {
$name_img = unicid().".".$type;
$img_url = 'server/images'.$name_img;
$path = ROOT.'/'.$img_url;
move_uploaded_file($img['tmp_name'], $path);
 
$db = mysql_connect ("localhost","c8100_dmitry","123456");
mysql_select_db("c8100_baza",$db);
 
$result = mysql_query ("INSERT INTO tabl (name, email, img_url) VALUES ('$name', '$email', '$img')");
}
else {
 echo 'Картинка не добавилась';
}
}
(Нашел ошибку с if() {} else{})
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
29.02.2016, 15:58
Цитата Сообщение от Дмитрий_А Посмотреть сообщение
Я это не совсем понял, лучше примере.
HTML5
1
2
<input type="text" name="img_name" />
<input type="file" name="img" />
В одном выбираем файл, в другом вводим название.

Покажите код вместе с формой.
0
0 / 0 / 0
Регистрация: 23.11.2015
Сообщений: 46
29.02.2016, 16:27  [ТС]
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
if (isset($_POST['name']))
{
$name = $_POST['name']; 
}
if (isset($_POST['email']))
{
$email = $_POST['email'];   
}
 
if (isset($_POST['img_url']))
{
$img = $_POST['img_url'];  
}
 
$type = $img['type'];
$type = str_replace("images/","", $type);
 
if (
    $type == 'jpg' &&
    $type == 'png' &&
    $type == 'jpeg'
    )
 {
$name_img = unicid().".".$type;
$img_url = 'server/images'.$name_img;
$path = ROOT.'/'.$img_url;
move_uploaded_file($img['tmp_name'], $path);
 
$db = mysql_connect ("localhost","c8100_dmitry","123456");
mysql_select_db("c8100_baza",$db);
 
$result = mysql_query ("INSERT INTO tabl (name, email, img_url) VALUES ('$name', '$email', '$img')");
}
else {
 echo 'Картинка не добавилась';
}
}
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
function getContent() {
            global $mysqli;
            $result_content = "";
            $to = 0;
            $limit = QUANTITY_NEWS;
            $page = 1;
            
            if(isset($_GET['page'])) {
                $page_num = $this->toInteger($_GET['page']);
                if($page_num > 0) {
                    $page = $page_num;
                }
            }
            
            
            $to = $page * $limit - $limit;
            
            $quantity_all_news = $mysqli->query("SELECT id FROM tabl");
            $quantity_all_news = $quantity_all_news->num_rows;
            
            $last_page = ceil($quantity_all_news / $limit);
            
            if($page > $last_page) {
                throw new Exception("Страница не найдена");
                exit;
            }
            
            $news = $mysqli->query("
                                SELECT name, email, img_url
                                FROM tabl
                                ORDER BY id DESC
                                LIMIT {$to}, {$limit}
                                   ");
            $rows = $mysqli->assoc($news);                     
            
            do
            {
                $result_content .= $this->getView(
                    "name", $rows['name'],
                    "email", $rows['email'],
                    "img_url", $rows['img_url'],
                );
            }
            while($rows = $mysqli->assoc($news));
            
            $result_content .= $this->pageNav($page, $quantity_all_news);
            
            return $result_content;
        }

HTML5
1
2
3
<img src="%img_url%">
<p>%name%</p>
<p>%email%</p>
У меня все работает, только картинку не могу подключить к этому всему
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
29.02.2016, 16:57
Дмитрий_А, а форма добавления?
1
0 / 0 / 0
Регистрация: 23.11.2015
Сообщений: 46
01.03.2016, 11:17  [ТС]
HTML5
1
2
3
<input type="text" name="name" required="" >
<input type="text" name="email" required="" >
<input type="file" name="img">
Добавлено через 18 часов 3 минуты
С добавлением картинки из бд. я разберусь, мне просто нужно знать как добавить на сервер, и запись пути до картинки на сервере в базе
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
01.03.2016, 11:39
Цитата Сообщение от Дмитрий_А Посмотреть сообщение
как добавить на сервер
Я уже отвечал выше, с помощью move_uploaded_file перемещаете файл из временной папки в постоянную.

Ссылка на файл вам известна (иначе как вы бы его переместили?), её записываете в БД.
1
Hello Kitty
 Аватар для WhiteMind
690 / 562 / 402
Регистрация: 12.02.2016
Сообщений: 1,436
Записей в блоге: 1
01.03.2016, 11:54
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
$maps = Array(
    Array(
        "map" => Array(
            "post" => Array(
                "name" => "name" ,
                "email" => "email"
            ) ,
            "files" => Array(
                "img" => "img"
            )
        ) ,
        "function" => function( $argv ) {
            $argv->img = (object) $argv->img;
            if ( $argv->img->error === 0 ) {
            
                $sTypeList = array_flip(Array(  'jpg' , 'png' , 'jpeg' ));
                if ( isset( $sTypeList[ $type = str_replace("image/","", $argv->img->type ) ] ) ) {
                    $img_url =  uniqid() . "-" . 
                                preg_replace( "/[^a-z]/si" , "" , $argv->img->name ) . "-" . 
                                preg_replace( "/[^a-z]/si" , "" , $argv->name ) . "." .
                                $type;
                    //$path = $img_url;
                    $path = ROOT.'/server/images' . $img_url;
                    move_uploaded_file($argv->img->tmp_name, $path);
                    echo 'Картинка добавилась';
                    exit;
                }
            }
            echo 'Картинка не добавилась';
            exit;       
        }
    )
);
 
MiniRouter( $maps );
 
function MiniRouter( $maps ) {
    $fRet = false;
    $argv = Array( "post" => $_POST , "get" => $_GET , "files" => $_FILES );
    foreach($maps as $v) {
        $result = new stdclass();
        foreach($v["map"] as $type => $info) {
            $arg = $argv[ $type ];
            foreach($info as $key => $rAttr) {
                if ( !isset( $arg[ $key ] ) ) {
                    continue 3;
                }
                $result->{$rAttr} = $arg[ $key ];
            }
        }
        $f = $v["function"];
        $fRet = true;
        if ( $f( $result ) ) {
            break;
        }
    }
    return $fRet;
}
 
 
 
?>
 
<form enctype="multipart/form-data" method="POST" >
    <input type="text" name="name" required="" >
    <input type="text" name="email" required="" >
    <input type="file" name="img">
    <input type="submit" value="send">
</form>
1
0 / 0 / 0
Регистрация: 23.11.2015
Сообщений: 46
01.03.2016, 12:21  [ТС]
Цитата Сообщение от WhiteMind Посмотреть сообщение
Простой обфускатор Php http://whitemind.freevar.com/
Попробовал. Выдает следующее:
Delte empty goto "p9Wc9" ; line:
Delte empty goto "p9Wc7" ; line:
Delte empty goto "p9Wc5" ; line:
Delte empty goto "p9Wc3" ; line:


Также залил сервер, вышли след. ошибки:

Warning: move_uploaded_file(ROOT/server/images56d55d797de87-jpg-a.jpeg): failed to open stream: No such file or directory in /home/c8100/public_html/index.php on line 34

Warning: move_uploaded_file(): Unable to move '/tmp/phpzyvfrt' to 'ROOT/server/images56d55d797de87-jpg-a.jpeg' in /home/c8100/public_html/index.php on line 34
Картинка добавилась

Картинка все же не добавилась
0
Hello Kitty
 Аватар для WhiteMind
690 / 562 / 402
Регистрация: 12.02.2016
Сообщений: 1,436
Записей в блоге: 1
01.03.2016, 12:30
Цитата Сообщение от Дмитрий_А Посмотреть сообщение
Попробовал. Выдает следующее:
6ь раз пробовали…
пс: это подпись и к данной задачи отношения не имеет. и к другим тоже https://ru.wikipedia.org/wiki/... 0%B8%D0%B5)

ROOT ваш дефайн же. ну раз нету то можно так
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
$maps = Array(
    Array(
        "map" => Array(
            "post" => Array(
                "name" => "name" ,
                "email" => "email"
            ) ,
            "files" => Array(
                "img" => "img"
            )
        ) ,
        "function" => function( $argv ) {
            $argv->img = (object) $argv->img;
            if ( $argv->img->error === 0 ) {
            
                $sTypeList = array_flip(Array(  'jpg' , 'png' , 'jpeg' ));
                if ( isset( $sTypeList[ $type = str_replace("image/","", $argv->img->type ) ] ) ) {
                    $img_url =  uniqid() . "-" . 
                                preg_replace( "/[^a-z]/si" , "" , $argv->img->name ) . "-" . 
                                preg_replace( "/[^a-z]/si" , "" , $argv->name ) . "." .
                                $type;
                    $path = $img_url;
                    //$path = ROOT.'/server/images' . $img_url;
                    move_uploaded_file($argv->img->tmp_name, $path);
                    echo 'Картинка добавилась';
                    exit;
                }
            }
            echo 'Картинка не добавилась';
            exit;       
        }
    )
);
 
MiniRouter( $maps );
 
function MiniRouter( $maps ) {
    $fRet = false;
    $argv = Array( "post" => $_POST , "get" => $_GET , "files" => $_FILES );
    foreach($maps as $v) {
        $result = new stdclass();
        foreach($v["map"] as $type => $info) {
            $arg = $argv[ $type ];
            foreach($info as $key => $rAttr) {
                if ( !isset( $arg[ $key ] ) ) {
                    continue 3;
                }
                $result->{$rAttr} = $arg[ $key ];
            }
        }
        $f = $v["function"];
        $fRet = true;
        if ( $f( $result ) ) {
            break;
        }
    }
    return $fRet;
}
 
 
 
?>
 
<form enctype="multipart/form-data" method="POST" >
    <input type="text" name="name" required="" >
    <input type="text" name="email" required="" >
    <input type="file" name="img">
    <input type="submit" value="send">
</form>
1
0 / 0 / 0
Регистрация: 23.11.2015
Сообщений: 46
01.03.2016, 14:34  [ТС]
Цитата Сообщение от WhiteMind Посмотреть сообщение
ROOT ваш дефайн же. ну раз нету то можно так
Картинка сохраняется, теперь я немного продвинулся, но картинка не сохраняется в каталоге "image" как написано в str_replace. Она сохраняется в корневой папке (каталог image - создан).

Добавлено через 1 час 35 минут
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
$maps = Array(
    Array(
        "map" => Array(
            "post" => Array(
                "name" => "name" ,
                "email" => "email"
            ) ,
            "files" => Array(
                "img" => "img"
            )
        ) ,
        "function" => function( $argv ) {
            $argv->img = (object) $argv->img;
            if ( $argv->img->error === 0 ) {
            
                $sTypeList = array_flip(Array(  'jpg' , 'png' , 'jpeg' ));
                if ( isset( $sTypeList[ $type = str_replace("image/","", $argv->img->type ) ] ) ) {
                    $img_url =  uniqid() . "-" . 
                                preg_replace( "/[^a-z]/si" , "" , $argv->img->name ) . "-" . 
                                preg_replace( "/[^a-z]/si" , "" , $argv->name ) . "." .
                                $type;
                    $path = $img_url;
                    //$path = ROOT.'/server/images' . $img_url;
                    move_uploaded_file($argv->img->tmp_name, $path);
                    echo 'Картинка добавилась';
                    exit;
                }
            }
            echo 'Картинка не добавилась';
            exit;       
        }
    )
);
 
MiniRouter( $maps );
 
function MiniRouter( $maps ) {
    $fRet = false;
    $argv = Array( "post" => $_POST , "get" => $_GET , "files" => $_FILES );
    foreach($maps as $v) {
        $result = new stdclass();
        foreach($v["map"] as $type => $info) {
            $arg = $argv[ $type ];
            foreach($info as $key => $rAttr) {
                if ( !isset( $arg[ $key ] ) ) {
                    continue 3;
                }
                $result->{$rAttr} = $arg[ $key ];
            }
        }
        $f = $v["function"];
        $fRet = true;
        if ( $f( $result ) ) {
            break;
        }
    }
    return $fRet;
 
$db = mysql_connect ("localhost","c8100_dmitry","123456");
mysql_select_db("c8100_baza",$db);
 
$result = mysql_query ("INSERT INTO tabl (name, email, img_url) VALUES ('$name', '$email', '$path')");
}
Не могу понять, какие должны быть значения при отправки в бд
0
Hello Kitty
 Аватар для WhiteMind
690 / 562 / 402
Регистрация: 12.02.2016
Сообщений: 1,436
Записей в блоге: 1
01.03.2016, 14:38
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?php
$maps = Array(
    Array(
        "map" => Array(
            "post" => Array(
                "name" => "name" ,
                "email" => "email"
            ) ,
            "files" => Array(
                "img" => "img"
            )
        ) ,
        "function" => function( $argv ) {
            $argv->img = (object) $argv->img;
            if ( $argv->img->error === 0 ) {
            
                $sTypeList = array_flip(Array(  'jpg' , 'png' , 'jpeg' ));
                if ( isset( $sTypeList[ $type = str_replace("image/","", $argv->img->type ) ] ) ) {
                    $img_url =  uniqid() . "-" . 
                                preg_replace( "/[^a-z]/si" , "" , $argv->img->name ) . "-" . 
                                preg_replace( "/[^a-z]/si" , "" , $argv->name ) . "." .
                                $type;
                    $path = $img_url;
                    //$path = ROOT.'/server/images' . $img_url;
                    move_uploaded_file($argv->img->tmp_name, $path);
 
                    $db = mysql_connect ("localhost","c8100_dmitry","123456");
                    mysql_select_db("c8100_baza",$db);
                     
                    $result = mysql_query ("INSERT INTO tabl (name, email, img_url) VALUES ('".mysql_escape_string($argv->name)."', '".mysql_escape_string($argv->email)."', '".mysql_escape_string($path)."')");
                    
                    
                    echo 'Картинка добавилась';
                    exit;
                }
            }
            echo 'Картинка не добавилась';
            exit;       
        }
    )
);
 
MiniRouter( $maps );
 
function MiniRouter( $maps ) {
    $fRet = false;
    $argv = Array( "post" => $_POST , "get" => $_GET , "files" => $_FILES );
    foreach($maps as $v) {
        $result = new stdclass();
        foreach($v["map"] as $type => $info) {
            $arg = $argv[ $type ];
            foreach($info as $key => $rAttr) {
                if ( !isset( $arg[ $key ] ) ) {
                    continue 3;
                }
                $result->{$rAttr} = $arg[ $key ];
            }
        }
        $f = $v["function"];
        $fRet = true;
        if ( $f( $result ) ) {
            break;
        }
    }
    return $fRet;
 
}
Добавлено через 18 секунд
Цитата Сообщение от Дмитрий_А Посмотреть сообщение
Она сохраняется в корневой папке (каталог image - создан).
так укажите свою
1
0 / 0 / 0
Регистрация: 23.11.2015
Сообщений: 46
03.03.2016, 12:25  [ТС]
Все работает, только дело в том, что отправляются пустые формы, при обновлении страницы, сделал if (isset($_POST['name'])) {...}, Пустые формы больше не отправляются, и все заносится в бд, только выходит вот такая ошибка:

Warning: Invalid argument supplied for foreach() in /home/c8100/public_html/ab/index.php on line 64


if (isset($_POST['name']))
{
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
$maps = Array(
    Array(
        "map" => Array(
            "post" => Array(
                "name" => "name" ,
                "email" => "email"
            ) ,
            "files" => Array(
                "img" => "img"
            )
        ) ,
        "function" => function( $argv ) {
            $argv->img = (object) $argv->img;
            if ( $argv->img->error === 0 ) {
            
                $sTypeList = array_flip(Array(  'jpg' , 'png' , 'jpeg' ));
                if ( isset( $sTypeList[ $type = str_replace("image/","", $argv->img->type ) ] ) ) {
                    $img_url =  uniqid() . "-" . 
                                preg_replace( "/[^a-z]/si" , "" , $argv->img->name ) . "-" . 
                                preg_replace( "/[^a-z]/si" , "" , $argv->name ) . "." .
                                $type;
                    $path = $img_url;
                    //$path = ROOT.'/server/images' . $img_url;
                    move_uploaded_file($argv->img->tmp_name, $path);
 
                    $db = mysql_connect ("localhost","c8100_dmitry","123456");
                    mysql_select_db("c8100_baza",$db);
                     
                    $result = mysql_query ("INSERT INTO tabl (name, email, img_url) VALUES ('".mysql_escape_string($argv->name)."', '".mysql_escape_string($argv->email)."', '".mysql_escape_string($path)."')");
                    
                    
                    echo 'Картинка добавилась';
                    exit;
                }
            }
            echo 'Картинка не добавилась';
            exit;       
        }
    )
);
}
 
MiniRouter( $maps );
 
function MiniRouter( $maps ) {
    $fRet = false;
    $argv = Array( "post" => $_POST , "get" => $_GET , "files" => $_FILES );
    foreach($maps as $v) {
        $result = new stdclass();
        foreach($v["map"] as $type => $info) {
            $arg = $argv[ $type ];
            foreach($info as $key => $rAttr) {
                if ( !isset( $arg[ $key ] ) ) {
                    continue 3;
                }
                $result->{$rAttr} = $arg[ $key ];
            }
        }
        $f = $v["function"];
        $fRet = true;
        if ( $f( $result ) ) {
            break;
        }
    }
    return $fRet;
 
}

И еще выходят вот такие символы в бд: ыпфп
В таблице стоит кодировка: cp1257_general_ci.

Проверьте в чем дело, кому не трудно

Добавлено через 18 часов 2 минуты
Цитата Сообщение от Дмитрий_А Посмотреть сообщение
Все работает, только дело в том, что отправляются пустые формы, при обновлении страницы, сделал if (isset($_POST['name'])) {...}, Пустые формы больше не отправляются, и все заносится в бд, только выходит вот такая ошибка:
Warning: Invalid argument supplied for foreach() in /home/c8100/public_html/ab/index.php on line 64
С этим разобрался, теперь только не понятно почему кракозябры в таблицу заносятся
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
03.03.2016, 12:49
Цитата Сообщение от Дмитрий_А Посмотреть сообщение
cp1257_general_ci.
Зачем? Сделайте везде utf8: в таблицах (и столбцах таблиц отдельно), у php скрипта и в соединении с БД.
1
0 / 0 / 0
Регистрация: 23.11.2015
Сообщений: 46
03.03.2016, 13:32  [ТС]
Цитата Сообщение от Jodah Посмотреть сообщение
Зачем? Сделайте везде utf8: в таблицах (и столбцах таблиц отдельно), у php скрипта и в соединении с БД.
Пробовал. Перебирал UTF-8 и UTF-8 без BOM в коде, и перебирал таблице и в строках: UTF-8_bin и UTF-8_gerenarl_ci

Дело в том, что в этом то коде ничего менять не пришлось

PHP
1
2
3
4
5
6
7
8
9
10
if (isset($_POST['name'], $_POST['email']))
{
    $name = $_POST['name'];
    $email = $_POST['email'];   
 
    $db = mysql_connect ("localhost","c8100_dmitry","123456");
    mysql_select_db("c8100_baza",$db);
 
    $result = mysql_query ("INSERT INTO tabl (name, email) VALUES ('$name', '$email')");
}
Кодировка тут стоит: UTF-8 без BOM
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.03.2016, 13:32
Помогаю со студенческими работами здесь

Залить картинку в интернет на соответствующий хостинг
Задача: указать в программе url картинки, а программа должна залить её на любой хостинг пикч. Как реализовать взаимодействие с ресурсом в...

Картинку из класса Image залить в поток
Здравствуйте. Не являюсь программистом Java, но пришлось взяться за небольшой код на джаве. И вот в чем проблема. В методе джава апплета...

Как с помощью ASP залить картинку в базу?
Имеем: MS SQL 7.0, IIS, ASP. В базе есть табличка, id int img image descr varchar(50) ...... Ну жно чтобы пользователь...

Залить картинку-значок в ячейки заглавного столбца TStringGrid
Нужно загрузить значки в ячейки заглавного столбца TStringGrid, подскажите процедуру или операцию, через которую можно это сделать.

Залить на фон формы картинку разрешением hd или full hd
я хочу залить на фон формы (300*350) картинку разрешением hd или full hd . Если через Timage то выходит маленький кусочек картинки. Можно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru