Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql][php]rejestrowanie sie,zablokowane pole
Forum PHP.pl > Forum > PHP
riquelme
Mam problem,w pewnym sensie związany z mysql i php.Jeżeli za bardzo zamieszam to poniżej przedstawie cel tego.Mianowicie :mam formularz html w polami danych do rejestrowania,przycisk wyślij wysyła dane do bazy danych MySQL.Jak zablokować jedno z pól formularza,żeby było w nim zawsze rodzaj :"1".A teraz wyjaśnienie stosowania.Po zarejestrowaniu,pojawia sie strona z logowaniem.Skrypt w logowaniu działa następująco:użytkownik podaje login i hasło.Jeżeli są niepoprawne wypisuje :błędne dane,jeżeli są poprawne sprawdza czy podany login i hasło ma rodzaj 0 czy 1.0 to otwiera sie strona administratora,natomiast 1 to strona użytkownika tzn z ograniczeniami.I zależy mi właśnie żeby użytkownicy rejestrujący sie mieli zawsze rodzaj = 1.
zulus
Jeżeli rodzaj użytkownika to osobne pole w bazie to nie ma problemu. Masz 2 opcje.

1.Przy rejestracji w zapytaniu SQL od razu przekazujesz domyślną wartość np:
  1. INSET INTO `users` (`login`,`pass`,`typ`,`name`,`mail`) VALUES ('jakisLogin','PASS','0','Dawid','lol@wp.pl');

2. Albo definiujesz dla pola typ wartość domyślną (np w phpMyAdmin) i że nie może być null. Wtedy smieniasz zapytanie mniej więcej tak:
  1. INSET INTO `users` (`login`,`pass`,`typ`,`name`,`mail`) VALUES ('jakisLogin','PASS',NULL,'Dawid','lol@wp.pl');
riquelme
Tak pole rodzaj to inne pole .Jeszcze nie sprawdzałem poprawności tej zmiany,ale czy jest możliwość że w formularzu pole rodzaj będzie zablokowane i pisało już 1 bez możliwości zmiany??
zulus
Możliwości masz 2:
  1. Ukryte pole, czyli <input type="hidden" value="0" name="typ" />
  2. Albo pole zablokowane do edycji: <input type="text" disabled="disabled" value="0" name="typ" />

Wyobraź sobie, że ktoś skopiuje kod twojego formularza w HTML, odblokuje to pole i zmieni wartość, a na koniec wyśle do Ciebie i będzie miał konto admina. aaevil.gif

Jeżeli chcesz wyświetlać typ, to i tak musisz sprawdzić co Ci wysłali w php.
riquelme
Dzięki,na szczęście strona ma jedynie forme laboratoryjną,więc nie jest i nie będzie narażona na ataki hackerów smile.gif .Mam natomiast teraz problem ze skryptem rejestracja.php ,niby wydaje sie wszystko dobrze,a jednak.Przedstawiam kod,a błąd jaki pojawia sie umieściłem jako komentarz.I jeszcze jedno pytanie,żeby nie zakładać nowego tematu:jakie polecenia należy dodać do skryptu wyszukiwarki,żeby wyszukane dane eksportować do pliku.Z góry dziękuje za wszelką pomoc.

<?
function polacz()
{
$polaczenie = mysql_connect("localhost", "xxx", "xxx");
mysql_select_db("xxx", $polaczenie) or die ("Nie mozna sie połączyć");
}

function rejestracja()
{

$imie=$_POST['imie'];
$nazwisko=$_POST['nazwisko'];
$email=$_POST['email'];
$login=$_POST['login'];
$haslo=$_POST['haslo'];
$haslo2=$_POST['haslo2'];
$rodzaj=$_POST['rodzaj'];

if ($haslo != $haslo2)
{
echo "Hasła nie są takie same!";
}
polacz();
$wynik=mysql_query("SELECT * FROM users WHERE login=$login");
if ($wynik!==0)
{
echo "Już taki login istnieje!";
form_rej();
}

$data=date("j/F/Y H:i:s");
$zapis="INSERT INTO users(imie,nazwisko,email,login, haslo,rodzaj, data) VALUES($imie, $nazwisko, $email, $login, $haslo,$rodzaj, $data)";
$wynik=mysql_query($zapis);
if (!$wynik)
{
echo "Rejestracja zakończona pomyślnie";
exit;
}
else
{
echo ('Rejestracja nie powiodła sie! ');
exit;
}
}
session_start();

include('naglowek.php');
<td> //Parse error: syntax error, unexpected '<'
require_once ("rejestracja.php");
rejestracja();
</td>
?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.