Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  Väike probleem PDO märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
rebuilt110
HV vaatleja

liitunud: 02.08.2010




sõnum 13.06.2014 10:39:29 Väike probleem PDO vasta tsitaadiga

Teen siin login enda ühele tööle, aga kuskil olen teinud vea mida ma ei leia üles, et kus kuradimas see viga on. Error ta ei kuva ning ei logi sisse ka.
<?php include 'core/config.php';
$username  = $_POST['username'];
$password = $_POST['password'];
$sql   =  $bd -> prepare("SELECT * FROM users WHERE username = '" . $username . "' AND password = '" . md5($password) . "'");
$sql   -> execute();
if($sql -> rowCount()){
session_start();
$_SESSION['logged_in'] = true;
$_SESSION['username'] = $username;
}
else
{
echo 'Wrong username / or password';
}
}
if(isset($_SESSION['logged_in']) && isset($_SESSION['username'])){
header("Location: members.php");
}
?>
Kommentaarid: 4 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 4
tagasi üles
vaata kasutaja infot saada privaatsõnum
Redikate
HV veteran
Redikate

liitunud: 30.12.2005




sõnum 13.06.2014 10:58:14 vasta tsitaadiga

1. Session start faili algusesses
2. escape user input
3. Üks bracket on ülearu (seda sa näeks ise ka kui #5 teeks)
4. Keera PHP'le errorite näitamine peale, kas läbi php.ini või otse koodist: http://stackoverflow.com/questions/6480425/php-not-displaying-errors-even-though-display-errors-on
5. Indenti oma kood ära

_________________
http://nodejs.org/
"I'm also a person. Programming is just one thing I do."
Kommentaarid: 34 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 33
tagasi üles
vaata kasutaja infot saada privaatsõnum
rebuilt110
HV vaatleja

liitunud: 02.08.2010




sõnum 13.06.2014 11:01:49 vasta tsitaadiga

1. FIX
2. Selle koha pealt hetkel juhe koos
3. Selle koha pealt hetkel juhe koos
4. php.ini ligi pääs puudub teenuspakuja poolt ja koodi sees ei saa seda lahendust pakkuda kust soovitasid vaadata.
5. Ei tee mina mingeid kommentaare oma koodile
Kommentaarid: 4 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 4
tagasi üles
vaata kasutaja infot saada privaatsõnum
jnt
HV Guru
jnt

liitunud: 10.05.2005



Autoriseeritud ID-kaardiga

sõnum 13.06.2014 11:04:37 vasta tsitaadiga

rebuilt110 kirjutas:
5. Ei tee mina mingeid kommentaare oma koodile


If it was hard to write, it has to be hard to read! icon_biggrin.gif

Aga palun loe uuesti, mida sinult paluti. icon_razz.gif

_________________
Progemisest: https://byteaether.github.io/
Seisab keldris vana 386-486-Pentium1? Räägime! Ehk saan vanakesele uue elu anda. icon_wink.gif
Vaata siia, äkki müün midagi põnevat -> https://www.osta.ee/index.php?fuseaction=listing.seller&q[seller]=jnt
Kommentaarid: 110 loe/lisa Kasutajad arvavad:  :: 2 :: 0 :: 102
tagasi üles
vaata kasutaja infot saada privaatsõnum
rebuilt110
HV vaatleja

liitunud: 02.08.2010




sõnum 13.06.2014 11:12:50 vasta tsitaadiga

Kui seda koodide järjestust mõtles, siis reaalselt nii pole nagu siin on, nii, et seda ei pea siia tegema nii kui orginaal, sest pole minu süü kui kopides nii foorum muudab icon_biggrin.gif. Mul lihtsalt muude probleemidega hetkel nii palju asju mõttes, et ei saanud täpselt pihta. aga jah kui järjestust, mõtles, siis foorumisse kopi paste süüdi.
Kommentaarid: 4 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 4
tagasi üles
vaata kasutaja infot saada privaatsõnum
siinus
HV Guru
siinus

liitunud: 20.01.2007




sõnum 13.06.2014 11:19:39 vasta tsitaadiga

2. http://xkcd.com/327/
Ma pikemalt sellel ei peatu

3. 4. 5.
php:
  1. <?php
  2. error_reporting(-1); // Parandage, kui eksin
  3. include 'core/config.php';
  4. $username  = $_POST['username'];
  5. $password = $_POST['password'];
  6. $sql   =  $bd -> prepare("SELECT * FROM users WHERE username = '" . $username . "' AND password = '" . md5($password) . "'");
  7. $sql   -> execute();
  8. if($sql -> rowCount()){
  9.         $_SESSION['logged_in'] = true;
  10.         $_SESSION['username'] = $username;
  11. }
  12. else
  13. {
  14.         echo 'Wrong username / or password';
  15. }
  16. } // <-- mis see on?
  17. if(isset($_SESSION['logged_in']) && isset($_SESSION['username'])){
  18.         header("Location: members.php");
  19. }
  20. ?>

_________________
suck less | ANNA MU SAI!
Ma arvasin, et see oli Priit, aga tegelikult oli Tõnu,
Kommentaarid: 66 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 59
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
rebuilt110
HV vaatleja

liitunud: 02.08.2010




sõnum 13.06.2014 11:25:42 vasta tsitaadiga

Õnneks või kahjuks tuleb see login ainult kohtalikus võrgus töötamiseks, kes konkreetses netis pole ei näegi seda lehte
Kommentaarid: 4 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 4
tagasi üles
vaata kasutaja infot saada privaatsõnum
Redikate
HV veteran
Redikate

liitunud: 30.12.2005




sõnum 13.06.2014 11:38:18 vasta tsitaadiga

rebuilt110 kirjutas:

4. php.ini ligi pääs puudub teenuspakuja poolt ja koodi sees ei saa seda lahendust pakkuda kust soovitasid vaadata.


Koodi sisse ei saa kirjutada?:

ini_set('display_errors', 1);
error_reporting(E_ALL);


Ja mis seal config.php's toimub. PDO connectioni lood ära? Õnnestunult?

_________________
http://nodejs.org/
"I'm also a person. Programming is just one thing I do."
Kommentaarid: 34 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 33
tagasi üles
vaata kasutaja infot saada privaatsõnum
rebuilt110
HV vaatleja

liitunud: 02.08.2010




sõnum 13.06.2014 11:48:58 vasta tsitaadiga

config.php kõik korras, sest muusid asju oskab, ainuke probleem tuligi selle login. Andmete väljastused on mul kõik ilusti 100% töös ja kuvab nii nagu vaja aga jah login on hetkel nässu korralikult läinud millest ma ise läbi ei pure. Login on ka selleks vaja, et andmete muutmiseks.
Kommentaarid: 4 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 4
tagasi üles
vaata kasutaja infot saada privaatsõnum
martin.org
HV kasutaja

liitunud: 28.01.2006




sõnum 13.06.2014 22:11:52 vasta tsitaadiga

Kas muutuja $bd ei peaks olema $db?

php:
  1. <?php
  2. ini_set('display_errors', 1);
  3.  
  4.  
  5. include 'core/config.php';
  6.  
  7. $username = $_POST['username'];
  8. $password = $_POST['password'];
  9.  
  10. if(strlen($username) > 0 && strlen($password) > 0){
  11.  
  12.     if ($bd instanceof PDO) {
  13.         $sql = $bd->prepare("SELECT username, password FROM users WHERE username = :name AND password = :password");
  14.         $sql->execute(array(':username' => $username,
  15.                             ':password' => md5($password)));
  16.  
  17.         if($sql->rowCount()){
  18.             $_SESSION['logged_in'] = true;
  19.             $_SESSION['username']  = $username;
  20.  
  21.             header("Location: members.php");
  22.         }
  23.         else {
  24.             echo 'Wrong username or password';
  25.         }
  26.     }
  27.     else {
  28.         echo '!PDO';
  29.     }
  30. }
  31. ?>
Kommentaarid: 9 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum
rebuilt110
HV vaatleja

liitunud: 02.08.2010




sõnum 13.06.2014 22:30:36 vasta tsitaadiga

nii tegin mõndasid parandusi aga sain vastuseks vapsee sellise erro

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: parameter was not defined' in /home/****/public_html/****/login.php:17 Stack trace: #0 /home/*****/public_html/****/login.php(17): PDOStatement->execute(Array) #1 {main} thrown in /home/****/public_html/****/login.php on line 17
Kommentaarid: 4 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 4
tagasi üles
vaata kasutaja infot saada privaatsõnum
Redikate
HV veteran
Redikate

liitunud: 30.12.2005




sõnum 13.06.2014 23:17:40 vasta tsitaadiga

Viimases koodis on SQL statemendi sees :name aga execute antakse kaasa :username

Tore näha, et errorid tööle said.

_________________
http://nodejs.org/
"I'm also a person. Programming is just one thing I do."
Kommentaarid: 34 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 33
tagasi üles
vaata kasutaja infot saada privaatsõnum
rebuilt110
HV vaatleja

liitunud: 02.08.2010




sõnum 14.06.2014 20:26:49 vasta tsitaadiga

Sain endal asja ilusti lõpuks toimima, tänan Redikate just selles mainimast ma ei oska öelda kuidas ma sellest nii mööda vaatasin, aga igaks juhuks jätaks teema lahti vb, sest äkki läheb vb veel PDO seoses abi vaja.

Edit:// Ma annan teile siia lingi http://smaapo.com/antslagymnaasium sest siis on võimalik vb paremini aru saada. Küsimus selline, et kas kõik need andmed kuvatakse kas need saab teha ka kõik ühe tabeli alla, et kuvaks Eraldi nädalapäeva juures erinev teks ja tunni ja kellaaja juures? Või peab selleks looma eraldi tabelit iga nädalapäeva jaoks jne ? Ning veel ka see küsimus, et kuidas täpsemalt saaks panna automaatselt muutuma vastavalt Nädalale ? Näiteks nüüd kuvab 59 nädalat ja järgmine nädal ainult 60 nädalat jne. Muidugi ei pea minule ette ja taha kõike tegema vaid soov on saada väikseid vihjeid kuidas saaks neid asju lahendada ja edasi ikka pusiks ise need asjad.
Kommentaarid: 4 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 4
tagasi üles
vaata kasutaja infot saada privaatsõnum
napoleon
Unknown virus
napoleon

liitunud: 08.12.2008



Autoriseeritud ID-kaardiga

sõnum 15.06.2014 16:53:43 vasta tsitaadiga

Soovitan sul siiski googledada, mis on sql injection. Kõige lihtsama näitena võid ise proovida mis juhtub, kui paned kasutajanimeks ' or 1=1#
....aga sellega saab tegelikult palju rohkem kurja teha.

Üldiselt saab koodis igasuguseid asju teha. Võimatu pole peaaegu mitte miski, reaalses elus on küsimus enamasti pigem selles, kas asi on kulutatud aega ja/või raha väärt.
Aga selleks, et oleks su probleem oleks paremini arusaadav, kirjelda mida seni oled teinud ja mis oleks soovitud tulemus. Kuna üks pilt ütleb rohkem kui tuhat sõna, siis võid mingi osa soovitud tulemusest kasvõi staatilise html-na teha. Kuna hetkel ma ei tea, kuidas peab olema ja pole näinud ei olemasolevat koodi ega andmebaasi struktuuri, siis on väga keeruline nõu anda, kas ja mida seal valesti teed.
Kommentaarid: 77 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 60
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  Väike probleem PDO
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.