Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » MySql/PHP: общие вопросы

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 70 71 72 73 74 75 76

Открыть новую тему     Написать ответ в эту тему

zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

 
без прокси  
 
 

Код:
 
 
Warning: file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in ....simple_html_dom.php on line 83
 
Warning: file_get_contents(): Failed to enable crypto in ....simple_html_dom.php on line 83
 
Warning: file_get_contents(www.sitesample.com): failed to open stream: operation failed in E:\__PHP__\OpenServer\domains\localhost\sitesample\simple_html_dom.php on line 83
 
 

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 08:34 18-03-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback
обновлять php, не использовать устаревшую версию.

Всего записей: 15099 | Зарегистр. 20-09-2014 | Отправлено: 08:39 18-03-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
обновлять php, не использовать устаревшую версию.

 
На данный момент я не могу обновить PHP
 
 
Другой вопрос,
что-то не работает в коде
 
У меня есть поле «Статья» с «Уникальным индексом» в базе данных
Поле «кода» и без индекса
 
   
 
пример:
 
   
 
Я вставляю "статью" Джинсы и "код" 03
Когда я запускаю запрос, он не отображает меня дублирующая ошибка  
 
но это  
 

Цитата:
Record inserted in the database  

 
Ничего не добавляется в базу данных, а пусто
 
Где не так?
 
code PHP
 

Код:
 
 
<form action="insert.php" method="GET">
    <input type="text" name="articolo" placeholder="articolo" autofocus="on">
    <input type="text" name="codice" placeholder="codice">
    <input type="submit">
</form>
 

 
 
 
 
insert.php
 

Код:
 
 
if ($conn->connect_errno) {
    echo "Connection failed: ". $conn->connect_error . ".";
    exit();
}
 
 
$codice = $_GET['codice'];
$articolo = $_GET['articolo']; // with Unique index in mysql
 
$query = "INSERT INTO articoli (codice,articolo) VALUES('$codice','$articolo')";
                if (mysqli_errno($conn) == 1062){
    echo 'Duplicate key';
    header("location: form.php#mess");
}
else{
    
    echo'Record inserted in the database ';
}
 
 

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 13:04 18-03-2022 | Исправлено: zagorisback, 13:07 18-03-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback

Цитата:
Ничего не добавляется в базу данных, а пусто

И не будет добавляться. Где выполнение SQL строки??
Переменная $query - просто строка, где ее использование по назначению??

Всего записей: 15099 | Зарегистр. 20-09-2014 | Отправлено: 13:10 18-03-2022 | Исправлено: Mavrikii, 13:11 18-03-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Это не работает то же самое
 

Цитата:
Warning: mysqli_errno() expects exactly 1 parameter, 2 given
 
Record inserted in the database  

 

Код:
 
 
$query = "INSERT INTO articoli (codice,articolo) VALUES('$codice','$articolo')";
                if (mysqli_errno($conn,$query) == 1062){
    echo 'Duplicate key';
    header("location: form.php#mess");
}
else{
    
    echo'Record inserted in the database ';
}
 
 

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 13:22 18-03-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback

Цитата:
Это не работает то же самое

В сотый раз повторю - не занимайтесь программированием, это не ваше и не будет вашим. Это видно по образу мышления.
 
Где mysql_query или mysqli_query? Ну элементарно же.

Всего записей: 15099 | Зарегистр. 20-09-2014 | Отправлено: 13:41 18-03-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
В сотый раз повторю - не занимайтесь программированием, это не ваше и не будет вашим. Это видно по образу мышления.  

 
 

 
Я не понимаю вашего отношения превосходства,
Если я хочу узнать, почему вы должны предотвратить это мне?
Вы изучали программирование,
Я не учился за это,
Я делаю больше рабочих мест, и я делаю их хорошо
Это форум, чтобы попросить помощи
Если вы не хотите отвечать, вы не делаете это
и странно, что есть только вы, чтобы помочь  
 
 

Цитата:
 
Duplicate key
Warning: Cannot modify header information - headers already sent by
 
 

 

Код:
 
$query = "INSERT INTO articoli (codice,articolo) VALUES('$codice','$articolo')";
                if (mysqli_query($conn, $query)){
                }                    
                if(mysqli_errno($conn) == 1062){
                    
    echo 'Duplicate key';
    header("location: form.php#mess");
}
                
else{
    
    echo'Record inserted in the database ';
}
 
 


Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 14:13 18-03-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback

Цитата:
Вы изучали программирование,

Не изучал. Я знаю кучу языков, но ни на один не ходил ни на какие курсы. Просто у меня такой склад ума. И я вижу, что у вас нет, только и всего. Я вообще - физик. Но я могу писать практически на любом, даже незнакомому мне, языке.
 

Цитата:
Warning: Cannot modify header information - headers already sent by

Не должно выводиться никакого текста до header заголовка.

Всего записей: 15099 | Зарегистр. 20-09-2014 | Отправлено: 19:08 18-03-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
 
Нашел это в сети (база данных создана мной)
Это всегда сообщает мне дубликат
быть исправленным, вы можете сделать это любезно
 
Ссылка

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 20:09 18-03-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Обновил код,
Я вижу ошибку на странице формы сейчас, но я не могу ввести данные, потому что она дублирована  
 
Это критическая область для исправления
 

Код:
 
 
if (!$result = $connessione->query("SELECT * FROM articoli")) {
    echo "Errore della query: " . $connessione->connect_error . ".";
}else{
    // conteggio dei record
    if($result->num_rows > 0 or (mysqli_errno($connessione) == 1062))  {
       $_SESSION['messaggio'] = 'ATTENZIONE!! Codice duplicato'.' ' .$codice .' '.$articolo;
       header("location: form.php#mess");
    } else {
 

 
Обновил код
 
Ссылка

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 22:13 18-03-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback
внятно задавайте вопросы.
 

Цитата:
Я вижу ошибку на странице формы сейчас, но я не могу ввести данные, потому что она дублирована  

ну, хорошо, продублирована, и?
 

Цитата:
(mysqli_errno($connessione) == 1062)

этой ошибки вообще не будет в случае выполнения SELECT запроса, ведь это не INSERT данных, там неоткуда взяться этой ошибке.
 
очевидно, что срабатывает
Цитата:
$result->num_rows > 0
, то есть в результате запроса что то вернулось из базы.
об этом я говорю, что не думаете. дело не в незнании языка или основ, вы не следуете логике выполнения любого кода, на любом языке. пытаетесь случайно изменить тут и там, но это не работает так - нужно в голове следовать выполнению кода, понимать что и зачем он делает в каждом куске.
 
вот просто объясните себе, зачем вот именно такое условие

Цитата:
if($result->num_rows > 0 or (mysqli_errno($connessione) == 1062))  

после выполнения

Цитата:
$connessione->query("SELECT * FROM articoli")

и не сможете этого сделать.

Всего записей: 15099 | Зарегистр. 20-09-2014 | Отправлено: 23:08 18-03-2022 | Исправлено: Mavrikii, 23:10 18-03-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Решено 10 минут назад,
Это была тривиальная ошибка
 

Код:
 
if (!$result = $connessione->query("SELECT * FROM articoli WHERE codice = ('$codice') or articolo = ('$articolo')" )) {
 

 
Я стал сумасшедшим, хотя  
 

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 23:15 18-03-2022 | Исправлено: zagorisback, 23:16 18-03-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
удален, потому что решен  

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 14:36 20-03-2022 | Исправлено: zagorisback, 17:38 20-03-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback

Цитата:
потому что решен

ну так, наверно, стоит спрашивать о том, что действительно не получается решить. а не сразу все подряд.

Всего записей: 15099 | Зарегистр. 20-09-2014 | Отправлено: 22:00 20-03-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Почти законченный код,
с валидацией «Bootstrap»
 
То, что я хотел бы улучшить и это
 
Я хотел бы, если я напишу goo , я сразу визуализирую сообщение об ошибке, пока не будет полным валидацией  
 
Что-то похоже на Google
 
пример:
goo
Я вижу код ошибки
 
google.com
 
Ok  
 
 

Код:
 
 
<form action="insert.php" method="get" class="needs-validation" novalidate>
  <div class="form-group row">
    <label for="colFormLabel" class="col-sm-2 col-form-label">Domain</label>
    <div class="col-sm-6">
      <input type="text" class="form-control" name="dom" id="validationCustom03" required  placeholder="Website domain"  
      pattern="([a-z0-9-]+\.(?:com|net|org|co\.uk))(?:\/|$)"  >
      <div class="invalid-feedback">
        insert domain valid, Domain requires the suffix <br> Example: .com <br> authorized : com|net|nl|org|co.uk.
      </div>
      <div class="valid-feedback">
        Ok domain valid!
      </div>
    </div>
  </div>
   
   
   
   
  <script>
// Example starter JavaScript for disabling form submissions if there are invalid fields
(function() {
  'use strict';
  window.addEventListener('load', function() {
    // Fetch all the forms we want to apply custom Bootstrap validation styles to
    var forms = document.getElementsByClassName('needs-validation');
    // Loop over them and prevent submission
    var validation = Array.prototype.filter.call(forms, function(form) {
      form.addEventListener('submit', function(event) {
        if (form.checkValidity() === false) {
          event.preventDefault();
          event.stopPropagation();
        }
        form.classList.add('was-validated');
      }, false);
    });
  }, false);
})();
</script>
 
 
 

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 22:24 20-03-2022 | Исправлено: zagorisback, 22:27 20-03-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback
цепляемся не к событию отправки формы, а к изменению элементов в ней.. или, даже, если нужно после нажатия каждого клавиши при вводе - событие нажатой клавиши onkeypressed
 

Цитата:
window.addEventListener('load',

плохо, это событие создается после загрузки всего на странице, включая картинок.
и если есть jQuery, то зачем весь этот сложный код?
 
$('form :input').on('keypressed', function() {
  $(this).closest('form').get(0).checkValidity();
});
 
ну и можно/нужно добавить проверка и на submit формы.

Всего записей: 15099 | Зарегистр. 20-09-2014 | Отправлено: 22:45 20-03-2022 | Исправлено: Mavrikii, 22:46 20-03-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
плохо, это событие создается после загрузки всего на странице, включая картинок.
и если есть jQuery, то зачем весь этот сложный код?
 
$('form :input').on('keypressed', function() {
  $(this).closest('form').get(0).checkValidity();
});
 
ну и можно/нужно добавить проверка и на submit формы.

 
Решено с «CSS»
 
Другая проблема
 
Я получаю эту ошибку в PHP
В «NaviCat (программное обеспечение) не ошибка
Как отключить контроль над «внешним ключом» в PHP?  
 

Цитата:
Errore della query: Cannot add or update a child row: a foreign key constraint fails (`duplicati`.`articoli`, CONSTRAINT `fk_attrici` FOREIGN KEY (`name_attrici_id`) REFERENCES `attrici` (`id_name`) ON DELETE SET NULL ON UPDATE SET NULL).

 
 

Код:
 
if (!$result = $connessione->query("SELECT * FROM articoli WHERE domain = ('$domain') and name_attrici_id =('$name_attrici_id') " )) {
    echo "Errore della query: " . $connessione->connect_error . ".";
}else{
    // conteggio dei record
    if($result->num_rows > 0 )  {
       $_SESSION['messaggio'] = '<b style="color:red;">ATTENZIONE!! duplicato</b>'.' ' .$domain;
       header("location: form.php#mess");
    } else {
       
       
       
       // esecuzione della query per l'inserimento dei record
       
       
       
if (!$connessione->query("INSERT INTO articoli (domain,aliasName,tags,name_attrici_id) VALUES
    ('$domain','$aliasName','$tags','$name_attrici_id')")) {
         
    echo "Errore della query: " . $connessione->error . ".";
     
     
}
 
 

 
 
база данных
 
Ссылка

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 10:17 21-03-2022 | Исправлено: zagorisback, 10:41 21-03-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Как отключить контроль над «внешним ключом» в PHP?  

не нужно его отключать, раз он есть. нужно просто понимать, что это означает.
я бы не стал удалять связь, но можно отключить на время запроса, при желании.
https://fedingo.com/how-to-temporarily-disable-foreign-key-constraint-in-mysql/

Всего записей: 15099 | Зарегистр. 20-09-2014 | Отправлено: 10:22 21-03-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
не нужно его отключать, раз он есть. нужно просто понимать, что это означает.
я бы не стал удалять связь, но можно отключить на время запроса, при желании.
https://fedingo.com/how-to-temporarily-disable-foreign-key-constraint-in-mysql/

 
 
   
 
Ошибка всегда, я не решил проблему
 

Цитата:
 
Errore della query: Cannot add or update a child row: a foreign key constraint fails (`duplicati`.`articoli`, CONSTRAINT `fk_attrici` FOREIGN KEY (`name_attrici_id`) REFERENCES `attrici` (`id_name`) ON DELETE SET NULL ON UPDATE SET NULL).
 
 

 

Примечание: а также присутствует в базе данных
«Уникальный индекс» для дубликатов

 
 
В «NaviCat» работает
«domain» и дубликат, но «name_attrici_id» и разные
В PHP я вижу ошибку  
 
 

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 10:47 21-03-2022 | Исправлено: zagorisback, 11:03 21-03-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback

Цитата:
Ошибка всегда, я не решил проблему

Да потому, что читать нужно. Эта команда не глобальная, а только для установленного подключения, на другие не распространяется. Написано же все.
 
Сообщение говорит о другом. На момент вставки должен существовать элемент с
Цитата:
name_attrici_id

А его нет или значение стоит в null
 
Сначала создаем
Цитата:
`attrici` (`id_name`)

С соответствующим id, а потом используем его в
Цитата:
INSERT INTO articoli (domain,aliasName,tags,name_attrici_id) VALUES
    ('$domain','$aliasName','$tags','$name_attrici_id')


Всего записей: 15099 | Зарегистр. 20-09-2014 | Отправлено: 11:19 21-03-2022
Открыть новую тему     Написать ответ в эту тему

Страницы: 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 70 71 72 73 74 75 76

Компьютерный форум Ru.Board » Интернет » Web-программирование » MySql/PHP: общие вопросы


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru