Problem s testiranjem povezivanja baze iz forme

Pravim instalaciju za CMS i imam problem sa testiranjem povezivanja na bazu prije nego krenem dalje,
kada je forma potpuno prazna i kliknem na submit button pise “Connected succesfully” a nema nikakvih podataka u formi, a kada ispunim tocne podatke izbaci mi gresku “Connection failed: SQLSTATE[HY000] [1045] Access denied for user ‘’@‘localhost’ (using password: YES)”

host = localhost
user = root
password = ''
baza = testing

Ali password ne korisim i testiram ovo na localhostu, ali kada direktno upisem sve u pdo konekciju bez forme poveze se normalno.

<?php

error_reporting(E_ALL);
ini_set("display_errors", 1);


if (isset($_POST['submit'])) {
$host = $_POST['host'];
$user = $_POST['mysql_username'];
$pass = $_POST['mysql_password'];
$db = $_POST['mysql_database'];

try {
$DBH = new PDO('mysql:host='.$host.';dbname='.$db, $pass, $user);
// set the PDO error mode to exception
$DBH->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Connected successfully";
$DBH=null;

} catch (PDOException $e) {
	echo "Connection failed: " . $e->getMessage();
}
}

?>

<form action="" method="POST">
<input type="text" name="host" size="30" /><br />
<input type="text" name="mysql_username" size="30" /><br />
<input type="password" name="mysql_password" size="30" /><br />
<input type="text" name="mysql_database" size="30" /><br />
<input type="submit" name="submit" value="Test connection">
</form>

Probo sam i print_r($_POST); i dobijem ovo

Array ( [host] => [mysql_username] => [mysql_password] => [mysql_database] => [submit] => Test connection ) Connected successfully

Sve prazno a pise da je povezano hahah

sa funkcijom empty napravi provjeru dali je svako polje upisano i onda reci jel baca error kad sve upises

Isto mi je prvjerio sam sa “if isset” i jos “if empty” kada unesem tocne podatke nece da se spoji na bazu a direktno bez forme hoce, cak sam i reinstall XAMPP reko da nije do njega problem, al nije.

Zamijenio si redoslijed varijabli $pass i $user. Ovako bi trebalo biti:

$DBH = new PDO(‘mysql:host=’.$host.’;dbname=’.$db, $user, $pass);

1 Like

Hvala ti puno, radi sad napokon :smiley:


Copyright © 2020 WM Forum - AboutContact - Sponsored by: Mydataknox & Profit Monkey