@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 с тем же кодом запускаю у себя на локалке на первом компе - всё работает.

Был бы благодарен если у кого то есть мысли по этому поводу.
  • Вопрос задан
  • 47 просмотров
Пригласить эксперта
Ответы на вопрос 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 из кода.

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

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

Похожие вопросы