-
-
Save xandros15/c25f9f1dda24f2058a739f61d20c9d69 to your computer and use it in GitHub Desktop.
Błąd - Undefined index: user
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
$wszystko_OK = true; //#1. wat? po co ta zmienna #2. uzywaj angielskich nazw | |
//#3. uzywaj camelCase dla zmiennych zgodnie z psr-2 #4 zmienne maja zwiezle i dokladnie okreslac, co przetrzymuja | |
//Sprawdź poprawność nicka | |
$nick = $_POST['nick']; | |
//Sprawdzenie długości nicka | |
if ((strlen($nick) < 3) || (strlen($nick) > 20)) { | |
$wszystko_OK = false; //do wywalenia | |
$_SESSION['e_nick'] = "Nick musi posiadać od 3 do 20 znaków!"; | |
} | |
if (ctype_alnum($nick) == false) {// lepiej dac if(!ctype_alnum($nick)) {, ale niektore szkoly... | |
$wszystko_OK = false; //do wywalenia | |
$_SESSION['e_nick'] = "Nick może składać się tylko z liter i cyfr (bez polskich znaków)"; | |
} | |
require_once "connect.php"; | |
// plik connect powinien zwracac cos, byc plikiem konfiguracyjnym (json yaml ini), lub wyjatkowo przetrzymywac w stalych, | |
//a nie być zlepkiem zmiennych globalnych. | |
/* przyklad ze zwracaniem | |
connect.php | |
<?php | |
return [ | |
'db_name' => 'name', | |
'db_user' => 'username', | |
'db_password' => 'password', | |
'db_host' => 'localhost' | |
]; | |
206509.php | |
<?php | |
$dbParams = require_once "connect.php"; | |
$connect = new mysqli($dbParams['db_host'], $dbParams['db_user'], $dbParams['db_password'], $dbParams['db_name']); | |
*/ | |
mysqli_report(MYSQLI_REPORT_STRICT); | |
try { | |
$polaczenie = new mysqli($host, $db_user, $db_password, $db_name);//angielskie nazwy zmiennych | |
//also jednak wole uzywac PDO... | |
if ($polaczenie->connect_errno != 0) {// mozna if(!$polaczenie->connect_error) | |
throw new Exception(mysqli_connect_errno()); //yyy jak juz uzywasz obiektu, to go uzywaj: throw new Exception($polaczenie->connect_errno); | |
} else { //niepotrzebny warunek | |
if ($wszystko_OK == true) { // warunek powinien wygladac: if(empty($_SESSION['e_nick'])) | |
$zmiana = "UPDATE uzytkownicy SET user = '$nick' WHERE email='$email'"; // http://imgs.xkcd.com/comics/exploits_of_a_mom.png używaj bindowania: http://php.net/manual/en/mysqli-stmt.bind-param.php | |
if ($polaczenie->query($zmiana) === true) { // http://php.net/manual/en/mysqli-stmt.execute.php oraz moze byc if($polaczenie->execute($query)) { | |
echo '<b><span style="color: red;">Login użytkownika ' . $nick . ' zostalo zresetowane!</span></b>'; //to juz nie uzywamy sesji, tylko echo? | |
} else { //mozna zamienic warunek: | |
/* | |
if(!$polaczenie->query($zmiana)) { | |
throw new Exception($polaczenie->error); | |
} | |
echo '<b><span style="color: red;">Login użytkownika ' . $nick . ' zostalo zresetowane!</span></b>'; | |
*/ | |
throw new Exception($polaczenie->error); | |
} | |
} | |
$polaczenie->close(); | |
} | |
} catch (Exception $e) { | |
echo '<br />info deweloperskie: ' . $e; //to juz nie sessja? | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment