0

I'm making a simple setup form where you are asked to enter your database credentials which are stored in another PHP file but when the user submits it the contents in the database credentials file are deleted and the file is just empty. I have tried debugging my code but still can't figure out what is causing the problem.

My database credentials file:

<?php
define("DATABASE_HOST", "{DB_HOST}");
define("DATABASE_USER", "{DB_USER}");
define("DATABASE_PASSWORD", "{DB_PASSWORD}");
define("DATABASE_DATABASE", "{DB_NAME}");

My code:

    $databasehost = $_POST['databasehost'];
    $databaseuser = $_POST['databaseuser'];
    $databasepassword = $_POST['databasepassword'];
    $databasename = $_POST['databasename'];
    $searchF  = array('{DB_HOST}','{DB_USER}','{DB_PASSWORD}','{DB_NAME}');
    $replaceW = array($databasehost,  $databaseuser,     $databasepassword,     $databasename);

    $fh = fopen("../static/database.php", 'w');
    $file = file_get_contents('../static/database.php');
    $file = str_replace($searchF, $replaceW, $file);
    fwrite($fh, $file);
    fclose($fh, $file);

Thanks, Nimetu.

1 Answer 1

1

You read the file with the call

$file = file_get_contents('../static/database.php');

after you have opened the file using w. Opening it for write will automatically blank the file. So change the order to

$file = file_get_contents('../static/database.php');
$fh = fopen("../static/database.php", 'w');
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.