Задать вопрос
@Danny13

Почему функция create, update работает когда phpmyadmin стоит на локалке но не работает, когда я гружу его на свой сервер?

На локалке всё работает идеально, а вот на сервере не работают частично некоторые функции хотя код практически не менял (кроме имени и пароля для сервера).

Что я сделал:
1. Вначале протестил всё на сервере MAMP, который запустил у себя на локалке на компьютере A. Потом поставил phpmyadmin и MAMP, на компьютер B на сервер Windows Server 198.***.****.
2. Создал нового юзера и дал ему все права на базу данных в phpmyadmin.
3. Этого юзера, пароль и имя сервера прописал в dbconnection.php:
<?php
class Database
{
    private static $dbName = 'db_******';                 такое же имя базы данных как и на локально сервере на другом компе.
    private static $dbHost = '192.********';               имя сервера к которому удаленно захожу.
    private static $dbUsername = '********';             имя пользователя 
    private static $dbUserPassword = '*********';      пароль 
    private static $cont  = null;
    public function __construct() {
        die('Init function is not allowed');
    }
    public static function connect()
    {
       // One connection through whole application
       if ( null == self::$cont )
       {     
        try
        {
          self::$cont =  new PDO( "mysql:host=".self::$dbHost.";"."dbname=".self::$dbName, self::$dbUsername, self::$dbUserPassword); 
и т.д. весь код не буду писать.


4. Мой модальный диалог для создания поста просто запускает код из файла sc_newTask.php после заполнения формы.
<div id="modal3" class="modal modal-fixed-footer">
    <form action="sc_newTask.php" id="myform" method="post" autocomplete="off">
        <div class="modal-content">
и т.д ..........................

Файл sc_newTask.php описывать не буду, так как на локалке всё работает, там просто обычные переменные, insert команда и т.д.

5. В адресную строку вбиваю не localhost/test/index.php а имя сервера 192.****.****/test/index.php/
Успешно прохожу проверку паролем на сайте и попадаю на главную страницу с постами. Посты отображаются из копированной на сервер с локалки базы данных как положено. Посты удаляются но я не могу создать ни один пост, просто обновляется страница после submit и всё.

слово localhost у меня нигде кроме как в файле с db_connection не встречается.

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

Был бы благодарен если у кого то есть мысли по этому поводу.
  • Вопрос задан
  • 51 просмотр
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
self::$cont =  new PDO( 
"mysql:host=".self::$dbHost.";"."dbname=".self::$dbName, 
self::$dbUsername, 
self::$dbUserPassword, 
[ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);


И повыкидиывать к едрене фене все бессмысленные try..catch из кода.

И база даннх тебе сама человеческим голосом скажет, что ей не так.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽