Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Не вносится запись в базу


Автор: vvdavidoff 10.1.2016, 00:22
не могу понять где ошибка внесения записи в базу

Код


<?php
header('Content-Type: text/html; charset=utf-8'); 
include('connect.php');
?>
<head>
    <link rel="stylesheet" type="text/css" href="style.css">
</head>

<?php        
    if (isset($_POST["send"]) and($_POST["rezum_txt"]) OR ($_POST["veb"]) OR ($_POST["file"])) {
    $sql = mysql_query("INSERT INTO `kandidat` (`rezum_txt`, `file`, `photo`, `veb`, `id_city`,`data`) 
                        VALUES ('".$_POST['rezum_txt']."','".$_FILES['file']['name']."','".$_FILES['photo']['name']."','".$_POST['veb']."', 
                        '".$_POST['city']."',NOW())");
    
    if ($sql) {
        echo "<p>Данные успешно добавлены в таблицу.</p>";
    } 
    
    
}
    else {
        echo "<p>Произошла ошибка.</p>";
    }
//проверяем, если файл загружен и ошибок нет    if ($_FILES['file']['error'] == 0)
if($_FILES['file']['error'] == 0){ 
    
                  //выбираем путь временного хранилища файла
    
        $temp = $_FILES['file']['tmp_name']; 
        
                       //выбираем путь, куда будем сохранять файл
        $name_file = iconv ("UTF-8", "WINDOWS-1251", $_FILES['file']['name']); 
                       //перемещаем файл из временной папки к нам на сервер
        move_uploaded_file($temp, "file/" .$name_file); 
        } 
        
//сделать проверку: если загружаемый фаил имеет расширение картинки, то загружаем его в папку и базу; if(фаил = расширению картинки)

if($_FILES['photo']['error'] == 0){ 
    
        $tempp = $_FILES['photo']['tmp_name']; 
        $name_files = iconv ("UTF-8", "WINDOWS-1251", $_FILES['photo']['name']); 
        move_uploaded_file($tempp, "file/".$name_files);
}

?>

<table>
<form action="<?=$_SERVER['PHP_SELF']?>"  method="post" enctype="multipart/form-data">
  
 
    <tr>
       <td>Резюме: </td>
       <td><textarea rows="10" cols="95" name="rezum_txt" ></textarea></td>
    </tr>    
    <tr>
        <td>Ссылка на резюме в интернете:</td>
        <td><input type="url" name="veb" size="70"></td>
    </tr>
    <tr>
        <td>file:</td>
        <td><input type="file" name="file" size="30"></td>    
    </tr>
    <tr>
        <td>photo:</td>
        <td><input type="file" name="photo" size="30"></td>    
    </tr>
    <select name="city" >;
                    <option value="" name=\"city\">-- Город --</option>
                    <? 
                    $sites = mysql_query("SELECT * FROM `city` ORDER BY id_city, city");
                    
                    while ($row = mysql_fetch_array($sites)) {
                    echo '<option name=\"city\">'.$row['city']."</option>";
                    }
                    ?>
                    </select>
    <tr>
        <td colspan="2"><input type="submit" name ="send" value="внести кандидата"></td>
    </tr>    
</form>
</table>






Автор: s1lver 12.1.2016, 11:22
Не особо вникая в код, могу предположить что у Вас ошибка примерно такая.

Цитата

Out of range value for column 'data' at row 1


1) Стоит учесть что NOW() - версия MySQL 5.6
2) Покажите какие ошибки выводит PHP.
3) Не мешает сделать отладку на каждом шаге

Автор: libcpp 16.1.2016, 18:42
Нефильтрованные данные в резюме.
injection'ы никто не отменял.


Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Ne-vnositsya-zapis-v-bazu-id56917a75ae2015bf678b456e#findElement_E7045_569a64d6ae2015e94df98849_0

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)