Zainstalowałam serwer apache2 na windows 7 i do tego php + MySQL , więc standard, dokonałam podstawowych zmian w konfiguracji aby umożliwić poprawne uruchomienie apache MySQL i php. Serwer działa, skrypty php są wykonywane, MySQL działa z konsoli mogę wprowadzać dane, tworzyć bazy etc. Kiedy jednak chcę połączyć się z MySQL używając php, następuję taka sekwencja : w adresie widzę plik który ma wykonać zalogowanie do bazy login.php i strona jest kompletnie pusta nie następuję przeniesienie do odpowiedniej strony. Gdy pomijam łączenie skrypt wykonuje się prawidłowo.
W pliku php.ini-production wpisałam to:
extension_dir = "c:/php/ext"
extension=php_mysqli.dll
Nie pomogło.
Sprawdziłam czy php_mysqli.dll jest w podanym katalogu. Tak, jest.
Kod to:
<?php
$login=$_POST['login'];
$haslo=$_POST['haslo'];
$polaczenie = @new mysqli('localhost', 'root', '', 'LOGOWANIE');
if (mysqli_connect_errno() != 0)
{
echo ('Wystąpił błąd połączenia: ' );
}
else{
if((isset($login) )&&(isset($haslo)))
{
if($login=='ania' && $haslo=='mala')
{
session_start();
$_SESSION["login"]=$login;
header("Location: index.php?" . SID);
exit();
}
else{
echo('Nie poprawny login, lub hasło');
}
}
else
{
echo('Nie podałeś danych');
}
}
?>
Mam najnowsze wersje programów.
Ps Zdaje sobie sprawę że ukazany tu skrypt jest kompletnie nie zabezpieczony przed niczym, że sposób uwierzytelniania jest bezsensowny, nie funkcjonalny etc. Chodzi mi jednak o samo nawiązanie połączenia. Jakiś czas temu pisałam w miarę poprawne skrypty walidacji, uwierzytelniania, było to jednak na XAMPP i chciałam przenieść się na własny serwer a nie korzystać z gotowej paczki.