Здравствуйте, есть форма отправка данных Код (Text): if (isset($_POST["submit"])) { $adress = $_POST["adress"]; $login = $_POST["login"]; $password = $_POST["password"]; $basename = $_POST["basename"]; } {}; <form action="" method="post"> <label>Адрес хостинга</label> <input name="adress" type="text"><br> <label>Логин</label> <input name="login" type="text"><br> <label>Пароль</label> <input name="password" type="text"><br> <label>База</label> <input name="basename" type="text"><br> <input name="submit" type="submit"><br> </form> Как полученные данные вставить и заменить в файле подключения к бд connection.php на место вопросов? Код (Text): $adress = ??? $login = ??? $password = ??? $basename = ??? $mysqli = new mysqli('$adress', '$login', '$password', '$basename'); Мне в настройках нужна форма через которую бы менялись данные в файле подключения к базе данных.
отдельный файл сделайте и записывайте в него данные с заполненными переменными. в след раз, когда он будет исполняться, он будет уже не просто текст, а "программой"
--- Добавлено --- Ответ на твой вопрос кроется в стандарте PSR-4 http://www.php-fig.org/psr/psr-4/ Учись писать сразу правильно! Вот раз файл твой например form.php PHP: <form action="/App/obrabotka.php" method="post" > <label> Адрес хостинга </label > <input name = "adress" type = "text" ><br > <label > Логин</label > <input name = "login" type = "text" ><br > <label > Пароль</label > <input name = "password" type = "text" ><br > <label > База</label > <input name = "basename" type = "text" ><br > <input name = "submit" type = "submit" ><br > </form > Дальше создаёшь папку App Так и создаёшь два файла ConnectDb.php и Obrabotka.php внутри директории App Содержимое ConnectDb.php PHP: <?php namespace App; use App; //Вот твой файл подключения к БД Class ConnectDB { public function __construct ($host, $dbname, $user, $password) { $params = new Config\Dbparams(); $dsn = "mysql:host={$host};dbname={$dbname}"; $db = new \PDO($dsn, $user, $password); return $db;// Ты возвращаешь подключение к бд тут подставляя в дальнейшем свои параметры } } ?> теперь файл Obrabotka.php Дальше содержимое PHP: <?php Namespace App; use App; Class Obrabotka { public static function Obrabotka () { if (isset($_POST["submit"])) { //Получаешь данные $adress = $_POST["adress"]; $login = $_POST["login"]; $password = $_POST["password"]; $basename = $_POST["basename"]; // Здесь и делай запись в базу дальше //Точней здесь ты уже подключаешься в базу по своим параметрам Как я понимаю. $db = new \ConnectDB($adress, $basename ,$login, $password); $result = $db->quert(/*НУ И ЗАПРОС К БД!*/); $result = $result->fetch(); // Ну и тут получил ассоциативный массив // если он тебе нужен конеш, или если ты что-то вносишь в базу то не нужен он тебе. // А если выносишь то нужен. } } } Так ну, а теперь чтобы это всё заработало, я выше кинул ссылку на стандарт PSR-4 Вперёд на изучение) Потратишь один день и с экономишь потом кучу времени . Так что вперёд ) А ещё не мешало бы подучить ООП ) И понять что такое единая точка входа, и архитектуру MVC. А ну и загугли про пространство имён ещё) в php.net В мануалах сам по ним учил, вполне доступно... Ну правда я ещё кучу всего перерыл когда пространства изучал и два битых дня изучал PSR-4 Как его подключать, сначала сделал свой автозагрузчик классов, но потом решил воспользоваться composer и про него почитай тоже полезный инструмент для разработки.
askanim Конечно спасибо вам большое за попытку мне помочь, я в программировании всего неделю, можете ставить фейспалм, но если честно я даже не пойму зачем это, как это использовать и правильно ли вы меня поняли что я хочу или нет, может быть мы об этом и узнаем, но наверное не раньше чем через год. А пока что по факту второй комментарий мне больше понравился, всё оказалось гораздо проще чем я пытался воссоздать. Код (Text): <?php if (isset($_POST["submit"])) { $adress = $_POST["adress"]; $login = $_POST["login"]; $password = $_POST["password"]; $basename = $_POST["basename"]; $text = "<?php new mysqli('$adress', '$login', '$password', '$basename'); ?>"; $handle = fopen('C:\OpenServer\domains\TEST\new.php', "w+"); fwrite($handle,$text); fclose($handle); }; ?> Разве что для идеала хотелось бы передать вот так, Код (Text): $mysqli = new mysqli('$adress', '$login', '$password', '$basename'); т.е. $mysqli как текст, но он передаётся как переменная, а соответственно пустая.
Я тебя прошу, ПРИЗЫВАЮ. Учись сразу качественно писать иначе грозит вот такое. https://github.com/LaravelForKettle/bike_001/blob/master/wtf Вот посмотри понимаешь ты там что нибудь? ТЫ понимаешь чего хотел достичь сей автор, чудесного кода. Я лично с трудом разобрал смысл. Пиши сразу всё правильно, строй пусть свою, и велоспедную и карявую, но архитектуру, отделяй код html от php. --- Добавлено --- Загугли всё что я выше написал посмотри это интересно, я изучаю php 3 месяца. И сайтами занимаюсь всего год. Перед тем как брасаться в бой. Освой базу, основы. По делай потренеруйся, на лок сервере построй странички. По учись работать с БД. Посмотри что такое MVC первым делом и ед точка входа, дальше посмотри про стандарты PSR и потом почитай про composer. Вот тебе инструкция развития и апгрейда.
Ещё раз спасибо за советы, буду изучать всё завтра, просто я в сайтостроении недели 2 а в php и того неделю.
Давай. Будут вопросы обращайся, тут на форуме всегда подсказывают) Так что не стесняйся) Рад помочь начинающему, сам только начал. Ну чуть больше твоего, месяца три на php а до этого просто на html и css, js не много баловался)
@nammidd всё есть в книгах для начинающих, ты их читай и когда что-то не понятно, то задавай вопрос тут. По твоему вопросу, то просто добавь include 'connection.php'; внутрь if в конце. Но лучше как тебе советовали выше, сразу делать всё правильно или читать дальше.
Помогите пожалуйста. Пыталась сделать форму для изменения данных. При нажатии кнопки, открывается форма, где должны быть данные и я могу их изменить и при нажатии кнопки Изменить, они сохраняются в табличке и в БД. Не знаю правильно ли объяснила все. Выводит ошибку в Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in V:\home\localhost\www\redklienti.php on line 112. Никак не могу разобраться. PHP: <? mysql_connect("localhost","root",""); mysql_select_db("подаривидео.рф"); $nomer=$_GET['№']; if (isset($_POST['edit'])){ $fio=$_POST['fio']; $adres=$_POST['adres']; $telefon=$_POST['tel']; $mail=$_POST['mail']; $query="UPDATE `klient` SET `fio`='$fio',`adres`='$adres',`telefon`='$telefon',`mail`='$mail' WHERE `№`=$nomer"; mysql_query($query); echo'<script language="JavaScript"> window.location.href = "k.php" </script>'; } //формируем запрос к таблице с заказами $query="SELECT * FROM `klient` WHERE `№`=$nomer "; mysql_query($query); $result=mysql_query($query); $row=mysql_fetch_array($result); ?>