Tak tylko że licząc od 0 to mam id, login, email...
Poprawiony kod:
<?php
include('functions/filtr.php');
if(!$_SESSION['access'] || !$_SESSION['login'])
{
header('Location: index.php'); }
include('include/db.php');
if(isset($_POST['loginek'])) {
$zapytanie = "SELECT COUNT(*) FROM admin WHERE loginek='$loginek'";
$zapytanie1 = "SELECT COUNT(*) FROM admin WHERE email='$email'";
}
echo '<div align="center"><form action="/cpadmin_dodaj_admina" method="post"> <input type="hidden" name="send" value="1">
<br />Login:<br /><input type="text" name="loginek" /><br /><br />
email:<br /><input type="text" name="email" /><br /><br />
Hasło:<br /><input type="password" name="haslo" /><br /><br />
Potwierdź hasło:<br><input type="password" name="haslo2" /><br /><br />
<input class="przycisk_admin" name="dodaj" type="submit" value="Dodaj">
<input class="przycisk_admin" name="wyczysc" type="reset" value="Wyczyść">
</form><br />
<a style="text-decoration: none;" href="/cpadmin">Wróć do Panelu Administratora</a><br /><br /></div>';
if ((isset($_POST['dodaj']))) {
if(empty($_POST["loginek"]) || empty($_POST["haslo"]) || empty($_POST["haslo2"]) || empty($_POST["email"]) and
!isset($_GET["active"]) and
isset($_POST['login'])) {
echo '<div align="center"><font color="red">Nie wypełniono wszystkich pól.</font></div><br />'; }
elseif($zajete[1]!=0)
{
echo '<div align="center"><font color="red">Podana nazwa użytkownika jest już zajęta.</font></div><br />'; }
elseif($zajete1[2]!=0)
{
echo '<div align="center"><font color="red">Podany email jest zajęty przez innego użytkownika.</font></div><br />'; }
elseif(!$_POST["email"] || !preg_match("/^[-0-9a-zA-Z_\.]+@([-0-9a-zA-Z_\.]+\.)+([0-9a-zA-Z]){2,4}$/i", $_POST["email"])) {
echo '<div align="center"><font color="red">Podany email jest nieprawidłowy.</font></div><br />'; }
elseif($_POST['haslo']!=$_POST['haslo2'])
{
echo '<div align="center"><font color="red">Podane hasła nie są identyczne.</font></div><br />'; }
else
{
$zapytanie2 = "INSERT INTO `admin` (`loginek`, `haslo`, `email`, `accessik`) VALUES ('".$loginek."', '".$haslo."', '".$email."', '".$accessik."')";
$zapytanie3 = "SELECT `email` FROM `admin` ORDER BY `id` DESC";
$naglowki = "From: nansss@nportfolio.pl".PHP_EOL."Reply-To: nansss@nportfolio.pl".PHP_EOL."Content-type: text/html; charset=utf-8";
$kod = str_shuffle("qwertyuiopasdfghjklzxcvbnm1234567890"); mail($email, 'Aktywacja konta na nportfolio.pl', '<br /><b>Witaj na nportfolio.pl!</b><br /><br /><br />Konto <b>'.$loginek.'</b> zostało zarejestrowane na podany adres e-mail.<br />W celu potwierdzenia rejestracji konta kliknij w poniższy odnośnik:<br /><a href="http://nportfolio.pl/index.php?page=potwierdz&active='.$kod.'">http://nportfolio.pl/index.php?page=potwierdz&active='.$kod.'</a><br /><br />Jeśli nie rejestrowałeś konta o nazwie <b>'.$loginek.'</b> po prostu zignoruj tego maila.<br /><br /><br />------<br />Wiadomość wygenerowana automatycznie<br />przez serwis nportfolio.pl', $naglowki); $zapytanie4 = "UPDATE admin SET klucz = ('".filtr($kod)."') WHERE accessik = 0";
}
if($_POST['send'])
{
{
if($idzapytania2)
{
echo '<div align="center"><font color="green"><b>Konto administratora zostało utworzone.</b></font></div><br />'; }
else
{
echo '<div style="text-align:center;"><font color="red"><b>Nie udało się dodać administratora. Proszę spróbować za jakiś czas!</b></font></div><br />'; }
}
}
}
?>
Teraz jest problem z tym, że nie sprawdza czy taki email jest już zajęty.
Sprawdzenie nicku:
$zapytanie = "SELECT COUNT(*) FROM admin WHERE loginek='$loginek'";
if($zajete[1][0]!=0)
{
$error .= '<div align="center"><font color="red">Podana nazwa użytkownika jest już zajęta.</font></div><br />';
}
i to działa.
Sprawdzanie email:
$zapytanie1 = "SELECT COUNT(*) FROM admin WHERE email='$email'";
if($zajete[2][0]!=0)
{
$error .= '<div align="center"><font color="red">Podany email jest zajęty przez innego użytkownika.</font></div><br />';
}
A to już nie działa. Nie wiem dlaczego
Ok rozwiązane...
Niedopatrzenie.
Zamiast
if($zajete[2][0]!=0)
Powinno być
if($zajete1[2][0]!=0)