• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem z rejestracją

Object Storage Arubacloud
0 głosów
209 wizyt
pytanie zadane 13 sierpnia 2015 w PHP przez prawilny Nowicjusz (190 p.)

Witaj, mam problem z rejestracją. 

Parse error: syntax error, unexpected 'mysql_select_db' (T_STRING) in C:\xampp\htdocs\osadnicy\connect.php on line 9

Index.php

<form method="post" action="rejestracja.php" >
<table width="300" border="0">
	<tr>
		<td>Login:</td>
		<td><input type="text" name="user"</td>
	</tr>
		<tr>
		<td>Hasło:</td>
		<td><input type="password" name="pass"</td>
	</tr>
		<tr>
		<td>Email:</td>
		<td><input type="text" name="email"</td>
	</tr>
	</tr>
		<tr>
		<td></td>
		<td><input type="submit" name="Zarejestruj się"</td>
	</tr>
</table>
</form>

 

Rejestracja.php 

 

<?php

	include"connect.php";
	
$user = $_POST['user'];
$pass = $_POST['pass'];
$email = $_POST['email'];
	

$insert = 'INSERT into uzytkownicy(user, pass, email) VALUES(`$user`, `$pass`,`$email`)';

mysql_query($insert);


?>

 

2 odpowiedzi

+3 głosów
odpowiedź 13 sierpnia 2015 przez Arkadiusz Waluk Ekspert (287,950 p.)
wybrane 13 sierpnia 2015 przez prawilny
 
Najlepsza

Po pierwsze niepozamykane znaczniki <input> w formularzu. Powinno być np. tak:

<td><input type="text" name="user"></td>

I jeszcze masz jeden </tr> za dużo za emailem.

Po drugie brak zabezpieczeń przed sql injection.

Po trzecie takie zapytanie nie przejdzie, wartości zapisujemy w apostrofy ' a nazwy kolumn można w ` ale nie trzeba. Tak powinno być okej:

$insert = "INSERT INTO `uzytkownicy` (`user`, `pass`, `email`) VALUES ('$user', '$pass','$email')";

Po czwarte nie używaj mysql_ a chociaż mysqli_ a najlepiej PDO.

Po piąte to przechowywanie czystego hasła w bazie to raczej bardzo kiepski pomysł.

I wreszcie po szóste to błąd jest gdzieś w pliku connect.php, przy wyborze bazy danych. Pokaż co masz w pliku connect, dane bazy możesz sobie zakryć.

komentarz 13 sierpnia 2015 przez prawilny Nowicjusz (190 p.)
Nie wiem jak dać te okienko do kodu źródłowego, więc daje tak http://wklej.to/OMkyF . Tutaj zdjęcie bazy: http://i.imgur.com/o7ZucyL.png
komentarz 13 sierpnia 2015 przez Arkadiusz Waluk Ekspert (287,950 p.)
Ale to okienko nie było potrzebne. Zawartość pliku connect.php pokaż ;)

Co prawda widzę kolejny błąd tutaj bo masz kolumnę data z NOT NULL w bazie, a w zapytaniu wartości do tej kolumny nie dodajesz - a skoro ma NOT NULL czyli że nie może być pusta to jest wymagana.
komentarz 13 sierpnia 2015 przez prawilny Nowicjusz (190 p.)
http://wklej.to/OMkyF tutaj jest connect.php Jak bylbys tak dobry i moglbys to wszystko popoprawiac.
komentarz 13 sierpnia 2015 przez Arkadiusz Waluk Ekspert (287,950 p.)

Co do connect.php to po pierwsze linijka 8 czyli z mysql_connect_db nie ma średnika na końcu przez to ten błąd. Po drugie w linijce 9 czyli z mysql_select_db powinny być dwa parametry, 1 to nazwa bazy tak jak podajesz a drugi to identyfikator połączenia czyli $connect. Tak to powinno wyglądać:

<?php

	$host = "localhost";
	$db_user = "root";
	$db_password = "";
	$db_name = "osadnicy";
	
	$connect = mysql_connect("localhost","root","");
	mysql_select_db('osadnicy', $connect);
?>

Do tego nie wiem jeszcze po co definiujesz wszystkie dane do połączenia z bazą jako zmienne a w połączeniu i tak wpisujesz je ręcznie - ale to myślę że tylko chwilowo do jakiś testów zrobiłeś czy coś.

Byłbym dobry ale tego wszystkiego za Ciebie popoprawiać nie mogę z dwóch powodów. Dlatego, że jednak jest to trochę pracy i dlatego że jak dostaniesz gotowy kod to się niczego nie nauczysz ;) Próbuj, pisz, szukaj, jak coś nie będzie Ci szło albo będziesz potrzebował wyjaśnienia to chętnie z czymś konkretnym pomogę ale całego kodu za Ciebie nie napiszę.

komentarz 13 sierpnia 2015 przez prawilny Nowicjusz (190 p.)
Okej, dzieki za cenne rady :) Jutro wszystko sproboje poprawic.
komentarz 13 sierpnia 2015 przez Arkadiusz Waluk Ekspert (287,950 p.)
Nie ma sprawy, mam nadzieję, że sobie poradzisz ;)
0 głosów
odpowiedź 13 sierpnia 2015 przez CzlowiekSkrypt Nałogowiec (26,340 p.)
Zapomnij o wszystkim co ma przedrostek mysql_ w php

Podobne pytania

–1 głos
1 odpowiedź 252 wizyt
pytanie zadane 22 grudnia 2015 w PHP przez niezalogowany
0 głosów
1 odpowiedź 174 wizyt
pytanie zadane 9 listopada 2019 w C i C++ przez Karpik Użytkownik (680 p.)
0 głosów
1 odpowiedź 794 wizyt
pytanie zadane 26 listopada 2015 w C i C++ przez lukasz_m Obywatel (1,380 p.)

92,634 zapytań

141,505 odpowiedzi

319,883 komentarzy

62,015 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...