Skocz do zawartości

[PHP] Nie mogę się połączyć z Bazą Danych MySql strony, co jest? - złe dane?


ViruS.
# CSH External VIP Project

Masz dosyć problemów z czynnikiem zaufania w CS2 lub notorycznymi banami?

Sprawdź CSH External VIP Project.


Więcej informacji  

Rekomendowane odpowiedzi

Cześć.

Chodzę do technikum Informatycznego, i w wolnym czasie zacząłem pracować nad stroną, żeby oswoić się z tym wszystkim w praktyce.

Mam jeden problem. Tworząc skrypt rejestracji i logowania nie mogę połączyć się z bazą danych mysql.

Dodam, że strona postawiona na Wordpressie.

 

rejestracja.php

<style>
body {
font-size:15px;
font-family:Verdana;
line-height:1.8;
word-spacing:3px;
}
</style>

<form method="POST" action="rejestracja.php">
<b>Login:</b> <input type="text" name="login"><br>
<b>Hasło:</b> <input type="password" name="haslo1"><br>
<b>Powtórz hasło:</b> <input type="password" name="haslo2"><br>
<b>Email:</b> <input type="text" name="email"><br>
<input type="submit" value="Zaloguj" name="loguj">
</form> 

<?php
mysql_connect("localhost","p500025_admin","administrator");
mysql_select_db("p500025_uzytkownicy");

function filtruj($zmienna) 
{
    if(get_magic_quotes_gpc())
        $zmienna = stripslashes($zmienna); // usuwamy slashe

	// usuwamy spacje, tagi html oraz niebezpieczne znaki
    return mysql_real_escape_string(htmlspecialchars(trim($zmienna))); 
}

if (isset($_POST['loguj'])) 
{
	$login = filtruj($_POST['login']);
	$haslo1 = filtruj($_POST['haslo1']);
	$haslo2 = filtruj($_POST['haslo2']);
	$email = filtruj($_POST['email']);
	$ip = filtruj($_SERVER['REMOTE_ADDR']);
	
	// sprawdzamy czy login nie jest już w bazie
	if (mysql_num_rows(mysql_query("SELECT login FROM uzytkownicy WHERE login = '".$login."';")) == 0) 
	{
		if ($haslo1 == $haslo2) // sprawdzamy czy hasła takie same
		{
			mysql_query("INSERT INTO `uzytkownicy` (`login`, `haslo`, `email`, `rejestracja`, `logowanie`, `ip`)
				VALUES ('".$login."', '".md5($haslo1)."', '".$email."', '".time()."', '".time()."', '".$ip."');");

			echo "Konto zostało utworzone!";
		}
		else echo "Hasła nie są takie same";
	}
	else echo "Podany login jest już zajęty.";
}
?>

<?php mysql_close(); ?>

przy użyciu tego skryptu na podstronie rejestracja.php wyświetla się komunikat:

Fatal error: Uncaught Error: Call to undefined function mysql_connect() in /home/p500025/public_html/rejestracja.php:19 Stack trace: #0 {main} thrown in /home/p500025/public_html/rejestracja.php on line 19

linijka 19 i 20 skryptu:

mysql_connect("localhost","p500025_admin","administrator");

mysql_select_db("p500025_uzytkownicy");

 

próbowałem już

samo "admin" "uzytkownicy" bez tego prefixu.

Strona postawiona na hostingu proserwer.pl (dawniej xaa.pl)

 

Nie wiem jakie są prawidłowe dane do połączenia z bazą danych, nie wiem co robię źle..

Stworzyłem bazę danych: uzytkownicy

dodałem do tej bazy użytkownika: admin

z hasłem: administrator

i dałem mu wszystkie przywileje.

 

32c86b0b10996.png

 

Odnośnik do komentarza

Twój error mówi że odwołujesz się do niezdefiniowanej funkcji, w jakim php piszesz, od PHP7 nie ma funkcji mysql*, źródło:

http://stackoverflow.com/questions/34579099/fatal-error-uncaught-error-call-to-undefined-function-mysql-connect

Przepisz inaczej kod, albo zainstaluj starszy php, sorry jeżeli nie pomoglem

Odnośnik do komentarza

Jeśli chcesz mieć pewność, że wpisujesz poprawne dane możesz to sprawdzić zwracaną wartością funkcji.

mysql_connect(...) or die()

//lub
$ret = mysql_connect(..);

if(!ret)
błąd

W twoim wypadku problemem zapewne jest nowsza wersja php zainstalowana na serwerze. 

Jeśli się już uczysz, lepiej uczyć się nowych standardów: https://www.w3schools.com/php/php_mysql_intro.asp

Odnośnik do komentarza

Dziękuję za pomoc, ma ktoś może gotowy skrypt rejestracji i logowania w php? Zaczynam naukę od strony wizualnej (css + html /dodatkowo w szkole javascript), z php to korzystam z internetu, ale zależy mi na tym systemie logowania.

 

 

Mój przedawniony skrypt:

 

rejestracja.php

<style>
body {
font-size:15px;
font-family:Verdana;
line-height:1.8;
word-spacing:3px;
}
</style>

<form method="POST" action="rejestracja.php">
<b>Login:</b> <input type="text" name="login"><br>
<b>Hasło:</b> <input type="password" name="haslo1"><br>
<b>Powtórz hasło:</b> <input type="password" name="haslo2"><br>
<b>Email:</b> <input type="text" name="email"><br>
<input type="submit" value="Zaloguj" name="loguj">
</form> 

<?php
$db = new PDO('mysql:host=localhost;dbname=p500025_uzytkownicy;charset=utf8mb4', 'p500025_admin', 'administrator');

function filtruj($zmienna) 
{
    if(get_magic_quotes_gpc())
        $zmienna = stripslashes($zmienna); // usuwamy slashe


}

if (isset($_POST['loguj'])) 
{
	$login = filtruj($_POST['login']);
	$haslo1 = filtruj($_POST['haslo1']);
	$haslo2 = filtruj($_POST['haslo2']);
	$email = filtruj($_POST['email']);
	$ip = filtruj($_SERVER['REMOTE_ADDR']);

	{
		if ($haslo1 == $haslo2) // sprawdzamy czy hasła takie same
		{
			mysql_query("INSERT INTO `uzytkownicy` (`login`, `haslo`, `email`, `rejestracja`, `logowanie`, `ip`)
				VALUES ('".$login."', '".md5($haslo1)."', '".$email."', '".time()."', '".time()."', '".$ip."');");

			echo "Konto zostało utworzone!";
		}
		else echo "Hasła nie są takie same";
	}
	else echo "Podany login jest już zajęty.";
}
?>

logowanie.php

<style>
body {
font-size:15px;
font-family:Verdana;
line-height:1.8;
word-spacing:3px;
}
</style>

<?php
session_start();
mysql_connect("localhost","root","");
mysql_select_db("test");
?>

<?php
if (isset($_GET['wyloguj'])==1) 
{
	$_SESSION['zalogowany'] = false;
	session_destroy();
}
?>

<?php
function filtruj($zmienna) 
{
    if(get_magic_quotes_gpc())
        $zmienna = stripslashes($zmienna); // usuwamy slashe

	// usuwamy spacje, tagi html oraz niebezpieczne znaki
    return mysql_real_escape_string(htmlspecialchars(trim($zmienna))); 
}

if (isset($_POST['loguj'])) 
{
	$login = filtruj($_POST['login']);
	$haslo = filtruj($_POST['haslo']);
	$ip = filtruj($_SERVER['REMOTE_ADDR']);
	
	// sprawdzamy czy login i hasło są dobre
	if (mysql_num_rows(mysql_query("SELECT login, haslo FROM uzytkownicy WHERE login = '".$login."' AND haslo = '".md5($haslo)."';")) > 0) 
	{	
		// uaktualniamy date logowania oraz ip
		mysql_query("UPDATE `uzytkownicy` SET (`logowanie` = '".time().", `ip` = '".$ip."'') WHERE login = '".$login."';");
	
		$_SESSION['zalogowany'] = true;
		$_SESSION['login'] = $login;
		
		// zalogowany

	}
	else echo "Wpisano złe dane.";
}

if ($_SESSION['zalogowany']==true)
{
	echo "Witaj <b>".$_SESSION['login']."</b><br><br>";
	
	echo '<a href="?wyloguj=1">[Wyloguj]</a>';
}
?>

<?php if ($_SESSION['zalogowany']==false): ?>

<form method="POST" action="logowanie.php">
<b>Login:</b> <input type="text" name="login"><br>
<b>Hasło:</b> <input type="password" name="haslo"><br>
<input type="submit" value="Zaloguj" name="loguj">
</form> 

<?php endif; ?>



<?php mysql_close(); ?>
Odnośnik do komentarza

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Regulamin. Polityka prywatności