За последние 24 часа нас посетили 21657 программистов и 1019 роботов. Сейчас ищут 673 программиста ...

Обновление данных и открытие модального окна

Тема в разделе "PHP для новичков", создана пользователем kuzmich, 23 май 2023.

  1. kuzmich

    kuzmich Активный пользователь

    С нами с:
    6 мар 2017
    Сообщения:
    39
    Симпатии:
    0
    всем привет.

    возникла такая проблема.
    сделал форму где посетитель сайта может обновлять свои данные.
    форма в модальном окне:

    Код (Text):
    1. <div class='modal fade' id='edit-my-data' tabindex='-1'>
    2.   <div class='modal-dialog modal-xg'>
    3.     <div class='modal-content'>
    4.       <div class='modal-header'>
    5.         <h5 class='modal-title'>Редактировать мои данные</h5>
    6.         <button type='button' class='btn-close' data-bs-dismiss='modal'></button>
    7.       </div>
    8.       <div class='modal-body'>    
    9. <?php
    10. // Проверяем, пусты ли переменные логина и id пользователя
    11.     //echo "TEST:".$_SESSION['id'];
    12.     if (empty($_SESSION['mail']) or empty($_SESSION['id']))
    13.     {}
    14.     else
    15.     {
    16.     if (!isset($name,$phone)) {
    17.     echo "
    18.     <form action='' method='post'>
    19.     <input class='input_text' type='text' name='name' value='".$users_db_row['name']."' placeholder='Ваше имя'>
    20.     <input class='input_text' type='text' name='phone' value='".$users_db_row['phone']."' placeholder='Телефон'>
    21.     <input class='input_text' type='text' name='mail' value='".$users_db_row['mail']."' placeholder='Эл. почта' readonly>
    22.     <input class='btn btn-outline-primary me-2' type='submit' value='Редактировать' data-bs-toggle='modal' data-bs-target='#edit-my-data'>
    23.     </form>
    24.     ";}
    25.     else {
    26.     $users_update_db = mysqli_query($db,"SELECT * FROM `users` WHERE `mail`='".$users_db_row['mail']."'");
    27.     if (!$users_update_db)
    28.     {
    29.     echo "<p>Запрос из выборки базы данных не прошел. Напишите об этом администратору. <em><strong>Код ошибки:</strong></em></p>";
    30.     exit(mysqli_error());
    31.     }
    32.     if (mysqli_num_rows($users_update_db) > 0){
    33.     $users_update_db_row = mysqli_fetch_array($users_update_db);
    34.     $update = mysqli_query($db,"UPDATE `users` SET `mail`='".$users_update_db_row['mail']."',`password`='".$users_update_db_row['password']."',`phone`='".$_POST['phone']."',`name`='".$_POST['name']."',`activation`='".$users_update_db_row['activation']."',`date`='".$users_update_db_row['date']."',`date_stop`='".$users_update_db_row['date_stop']."',`privileges`='".$users_update_db_row['privileges']."',`bonus`='".$users_update_db_row['bonus']."' WHERE `id`='".$users_update_db_row['id']."'");
    35.     echo "
    36.         <div align='center'><img src='../../image/checked.png'></div>
    37.         <div align='center'>Вы успешно обновили</div>
    38.         <div align='center'>свои данные.</div>
    39.         <div align='center'></div>
    40.         <div align='center'></div>
    41.     ";
    42.     }
    43.     }
    44.    
    45.     }
    46. ?>
    47.       </div>
    48.     </div>
    49.   </div>
    50. </div>
    после нажатия кнопки - Редактировать, ничего не обновляется и модальное окно закрывается.
    подскажите как сделать - чтобы модальное окно было открытым и данные обновились.
    заранее благодарю за помощь
     
  2. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.199
    Симпатии:
    184
    Почему переменная называется $users_update_db, а сам запрос на выборку? Лучше её назвать просто users.


    Почему внутри пустота?
    PHP:
    1. if (empty($_SESSION['mail']) or empty($_SESSION['id']))
    2.     {}
    Придумай какое-нибудь разделение html от php, а не всё вместе.

    Откуда ты взял align='center'?

    Не вижу js, который открывает и закрывает модальное окно.
    Не вижу за счёт чего отправляется форма и куда.

    В общем лапша.

    Ты это откуда-то скопировал?
     
    #2 Dimon2x, 24 май 2023
    Последнее редактирование: 24 май 2023
  3. kuzmich

    kuzmich Активный пользователь

    С нами с:
    6 мар 2017
    Сообщения:
    39
    Симпатии:
    0
    вопрос решен
     
  4. don.bidon

    don.bidon Активный пользователь

    С нами с:
    28 мар 2021
    Сообщения:
    858
    Симпатии:
    132
    align='center' устаревшая инструкция, но браузеры (возможно, не все) понимают.