Autorius Tema: Ar viskas gerai funkcijos kode ar galima paturmpinti/pagerinti ji?  (Skaityta 2570 kartus)

eXpire

  • Svečias
Sveiki , taigi naujas mano darbas yra toks, kad yra sukurta funkcija news(); ji susjungta su stiliai.css failu. kam to reikia? čia yra panašu kaip ir su php-f sukoduoju stiliai.css faile naujienų išvaizdą ir išsikviečiam kur norime tą mūsų naujieną, ji atvaizduoja viską iš duomenų bazes :)

Štai kaip tai atrodo :


Jokio texto faile viskas iš duomenų bazes. išsikviečiate su print arba echo :)
Naudojau ciklus ne pamaniau, gal bus geriausias variantas, tai norėčiau paklausti , čia viskas gerai, ar galima būtų patobulinti/sutrumpinti kodą ?

index.php

<html>
<head>
<link href="stiliai.css" rel="stylesheet" type="text/css">
</head>
</html>
<?php
$con 
mysql_connect("localhost","root","");
mysql_select_db("demo"$con);

function 
news() {
$result mysql_query("SELECT *FROM `news`");
while(
$row mysql_fetch_array($result)) {
echo
"
<table>
<tr>
<td class='naujienosup'>{$row['title']} || Autorius : {$row['Author']}<br></td>
</tr>
<tr>
<td class='naujienosb'>{$row['body']}<br></td>
</tr>
</table><br>
"
;
   }
}
echo
"Naujienos :<p>";
echo 
news();
mysql_close();
?>
« Paskutinį kartą keitė: 2012-12-17 16:15:33 pm sukūrė eXpire »

Neprisijungęs Lukas Liesis

  • Administratorius
  • Herojus
  • ******
  • Įrašai: 7385
  • Karma: +226/-15
    • Žiūrėti profilį
    • mano CV
Ats: Ar viskas gerai?
« Atsakymas #1 Įrašytas: 2012-12-17 16:09:30 pm »
neturiu laiko dabar skaityti visos temos, bet antraste tai galetum parasyti ir tikslesne, nes dabar ji nieko nesako apie tai ka reikia paziureti.
Jūsų draugas, kolega ir puslapio administratorius,

Lukas.

Manualai.lt Facebooke
serveriai.lt 50% nuolaida!
Free Hosting
Free Templates

Neprisijungęs justinas

  • Naujokas
  • *
  • Įrašai: 163
  • Karma: +16/-3
    • Žiūrėti profilį
Ats: Ar viskas gerai?
« Atsakymas #2 Įrašytas: 2012-12-17 16:10:03 pm »
Nebenaudok ext/mysql, ji yra deprecated nuo PHP 5.5, iš esmės nesaugi, neturinti reikalingų funkcijų API.

MySQLi arba PDO.

eXpire

  • Svečias
Ats: Ar viskas gerai funkcijos kode ar galima paturmpinti/pagerinti ji?
« Atsakymas #3 Įrašytas: 2012-12-17 16:15:50 pm »
Justinas, gali plačiau paaiškint ką parašei?

Manualai.lt Forumas

Ats: Ar viskas gerai funkcijos kode ar galima paturmpinti/pagerinti ji?
« Atsakymas #3 Įrašytas: 2012-12-17 16:15:50 pm »

Neprisijungęs vitalikaz

  • Dalyvis
  • **
  • Įrašai: 895
  • Karma: +59/-2
  • Tikėk kuo tiki
    • Žiūrėti profilį
    • blast.lt
Ats: Ar viskas gerai funkcijos kode ar galima paturmpinti/pagerinti ji?
« Atsakymas #4 Įrašytas: 2012-12-17 16:39:13 pm »
Jis pasakė, kad nereikia naudoti native mysql_* funkcijų, o naudoti kokius nors wrapper'ius arba mapper'ius, kurie apgaubia tas funkcijas, priduoda saugumo, naudingų funkcijų ir pan., pavyzdžiui, PDO arba MySQLi.
BlaST
Serveriai.lt paslaugos su 50% nuolaida!
Blast.lt blogas

Neprisijungęs justinas

  • Naujokas
  • *
  • Įrašai: 163
  • Karma: +16/-3
    • Žiūrėti profilį
Ats: Ar viskas gerai funkcijos kode ar galima paturmpinti/pagerinti ji?
« Atsakymas #5 Įrašytas: 2012-12-17 17:26:17 pm »
Justinas, gali plačiau paaiškint ką parašei?

http://php.net/manual/en/mysqlinfo.api.choosing.php

eXpire

  • Svečias
Ats: Ar viskas gerai funkcijos kode ar galima paturmpinti/pagerinti ji?
« Atsakymas #6 Įrašytas: 2012-12-17 17:35:15 pm »
Saugumas tokiame juokyngame scripte? kodėėėl jus visur savo tą saugumą kišat, nemoku aš to saugumo ir dar ilgai nemokėsiu dzin man tas saugumas aš klausiu ar galima pačią funkciją pagerinti,gal klaidų palikau kokių. štai ko aš klausiu , o ne saugumo....

Neprisijungęs Lukas Liesis

  • Administratorius
  • Herojus
  • ******
  • Įrašai: 7385
  • Karma: +226/-15
    • Žiūrėti profilį
    • mano CV
Ats: Ar viskas gerai funkcijos kode ar galima paturmpinti/pagerinti ji?
« Atsakymas #7 Įrašytas: 2012-12-17 17:43:40 pm »
Saugumas tokiame juokyngame scripte? kodėėėl jus visur savo tą saugumą kišat, nemoku aš to saugumo ir dar ilgai nemokėsiu dzin man tas saugumas aš klausiu ar galima pačią funkciją pagerinti,gal klaidų palikau kokių. štai ko aš klausiu , o ne saugumo....

todel, kad saugumas yra vienas is svarbiausiu dalyku bet kuriame kode. Jei tu klausi kaip pagerint tavo koda, tai tau ir sako kaip. Klaidu ten esminiu nera, viskas su juo gerai, bet pagerinti tikrai visada galima.
Jūsų draugas, kolega ir puslapio administratorius,

Lukas.

Manualai.lt Facebooke
serveriai.lt 50% nuolaida!
Free Hosting
Free Templates

Neprisijungęs justinas

  • Naujokas
  • *
  • Įrašai: 163
  • Karma: +16/-3
    • Žiūrėti profilį
Ats: Ar viskas gerai funkcijos kode ar galima paturmpinti/pagerinti ji?
« Atsakymas #8 Įrašytas: 2012-12-17 17:56:14 pm »
Saugumas tokiame juokyngame scripte? kodėėėl jus visur savo tą saugumą kišat, nemoku aš to saugumo ir dar ilgai nemokėsiu dzin man tas saugumas aš klausiu ar galima pačią funkciją pagerinti,gal klaidų palikau kokių. štai ko aš klausiu , o ne saugumo....
Todėl kad jei tingi apsisaugot, kur tai yra vienos funkcijos iškvietimas? Saugumas turi eiti anksčiau už viską – visas funkcijas ir blizgučius. Jei nesugebi būti bent kiek atsakingas – geriau jau neprogramuok, nes kas nors galiausiai dėl tavo kaltės praras savo duomenis, tapatybę, pinigus...

Aišku, galėčiau tau sakyt tiesą apie tavo funkciją: darbo nulis, trys eilutės, HTML maišomas su PHP, naudojama ext/mysql ir  t.t...

echo news();

Yra visiškai bereikalingas "echo" – tavo funkcija teksto negrąžina, o tiesiog spausdina jį – iš esmės dar vienas nepatogumas...

eXpire

  • Svečias
Ats: Ar viskas gerai funkcijos kode ar galima paturmpinti/pagerinti ji?
« Atsakymas #9 Įrašytas: 2012-12-17 18:11:41 pm »
Justinai, aš nesimokau to php/mysql tiek metų, kad sugebėčiau parašyti naująjį php-f varikliuką ar kažką panašaus :) aš juk sakiau kad moku labai dar nedaug todėl ir klausiu jūsų pagalbos, su saugumu aš nesuprantu per kur čia galima būtų įsilaužt, nulaužt? bet pasiskaitysiu pabandysiu pakeisti :)

Neprisijungęs Lukas Liesis

  • Administratorius
  • Herojus
  • ******
  • Įrašai: 7385
  • Karma: +226/-15
    • Žiūrėti profilį
    • mano CV
Ats: Ar viskas gerai funkcijos kode ar galima paturmpinti/pagerinti ji?
« Atsakymas #10 Įrašytas: 2012-12-17 18:20:39 pm »
Justinai, aš nesimokau to php/mysql tiek metų, kad sugebėčiau parašyti naująjį php-f varikliuką ar kažką panašaus :) aš juk sakiau kad moku labai dar nedaug todėl ir klausiu jūsų pagalbos, su saugumu aš nesuprantu per kur čia galima būtų įsilaužt, nulaužt? bet pasiskaitysiu pabandysiu pakeisti :)

http://net.tutsplus.com/articles/are-you-making-these-10-php-mistakes/

http://net.tutsplus.com/tutorials/php/30-php-best-practices-for-beginners/
Jūsų draugas, kolega ir puslapio administratorius,

Lukas.

Manualai.lt Facebooke
serveriai.lt 50% nuolaida!
Free Hosting
Free Templates

Neprisijungęs Modestas Vaitkevičius

  • Dalyvis
  • **
  • Įrašai: 2005
  • Karma: +56/-16
    • Žiūrėti profilį
    • Apie mane
Ats: Ar viskas gerai funkcijos kode ar galima paturmpinti/pagerinti ji?
« Atsakymas #11 Įrašytas: 2012-12-17 18:25:47 pm »
Va čia ir pradinuko užsispyrimas... Na nieko, išmoksi ir rasi, kur galima įlsilaušti, o kur ne :D


Ps. Justinai - Esi labai tikras, kad Tavo koduose nėra spragų? Manau jų paliksi ne vieną ir ne 10 ;) Tiesiog su laiku, jas pastebi ir pakeiti :)

Neprisijungęs justinas

  • Naujokas
  • *
  • Įrašai: 163
  • Karma: +16/-3
    • Žiūrėti profilį
Ats: Ar viskas gerai funkcijos kode ar galima paturmpinti/pagerinti ji?
« Atsakymas #12 Įrašytas: 2012-12-17 18:38:02 pm »
Justinai, aš nesimokau to php/mysql tiek metų, kad sugebėčiau parašyti naująjį php-f varikliuką ar kažką panašaus :) aš juk sakiau kad moku labai dar nedaug todėl ir klausiu jūsų pagalbos, su saugumu aš nesuprantu per kur čia galima būtų įsilaužt, nulaužt? bet pasiskaitysiu pabandysiu pakeisti :)
Neįmanoma kol kas per niekur – ext/mysql tiesiog yra pasenusi, bloga praktika. Ir galų gale kokią spragą padarytum. PHP-Fusion tikrai nėra tas varikliukas, į kurį reikėtų lygiuotis...

Jei nesimokai – eik mokytis! Tik nesiuntinėk bandančių tau patarti :)

Va čia ir pradinuko užsispyrimas... Na nieko, išmoksi ir rasi, kur galima įlsilaušti, o kur ne :D


Ps. Justinai - Esi labai tikras, kad Tavo koduose nėra spragų? Manau jų paliksi ne vieną ir ne 10 ;) Tiesiog su laiku, jas pastebi ir pakeiti :)
Aš esu labai tikras, nes naudoju bibliotekas, kurios iš esmės atlieka tai už mane. (normalius frameworkus, ORM, DB layerius, template engine'us, hashus ir t.t.). Jei palikčiau „ne vieną ir ne 10“, tai seniai būčiau išlaužytas... :)

Tai, kad kiekvieną skatinu kuo labiau tuo rūpintis, nereiškia, kad esu kažkoks visagalis programeris ar bandau pasirodyti geresniu. Priešingai, nenoriu, kad man naudojant gerą servisą staiga kažkoks skriptvaikis lengvai išneštų visą mano asmeninę informaciją...

Saugumas neturi būti kažkoks atskiras dalykas, kurį „pridėsiu vėliau“, tuo labiau, kai yra bendros, visiems žinomos technikos apsisaugojimui ir jas panaudoti lengviau nebūna. Privaloma domėtis saugumu ir daryti.

Tik tiek, kad dauguma įsivaizduoja, kad PHP, HTML, MySQL yra kažkokia viena mišrainė ir užtenka tutorialų tam išmokti, visiškai nereikia į kiekvieną gilintis...
« Paskutinį kartą keitė: 2012-12-17 18:43:45 pm sukūrė justinas »

eXpire

  • Svečias
Ats: Ar viskas gerai funkcijos kode ar galima paturmpinti/pagerinti ji?
« Atsakymas #13 Įrašytas: 2012-12-17 18:41:43 pm »
Tai tipo taip ?

<?php
function news(){
$mysqli = new mysqli("localhost""root""""demo");
$result $mysqli->query("SELECT*FROM news");
while(
$row $result->fetch_assoc()){
echo
"<table>
<tr><td class='naujienosup'>{$row['title']} || Autorius : {$row['Author']}<br></td></tr>
<tr><td class='naujienosb'>{$row['body']}
<br></td></tr></table><br>"
;
}
}
?>

Nežinomas mysqli kintamasis ir result jeigu išemu i išore funkcijos. čia pagal pavizdį kaip davė Justinas.

Neprisijungęs Modestas Vaitkevičius

  • Dalyvis
  • **
  • Įrašai: 2005
  • Karma: +56/-16
    • Žiūrėti profilį
    • Apie mane
Ats: Ar viskas gerai funkcijos kode ar galima paturmpinti/pagerinti ji?
« Atsakymas #14 Įrašytas: 2012-12-17 18:43:25 pm »
eXpire - kažkas tokio ;)

eXpire

  • Svečias
Ats: Ar viskas gerai funkcijos kode ar galima paturmpinti/pagerinti ji?
« Atsakymas #15 Įrašytas: 2012-12-17 18:44:03 pm »
O gal galima išimti lauk tą prijungimą y duombaze nes man būtent tai neatrodo labai saugu.

Neprisijungęs justinas

  • Naujokas
  • *
  • Įrašai: 163
  • Karma: +16/-3
    • Žiūrėti profilį
Ats: Ar viskas gerai funkcijos kode ar galima paturmpinti/pagerinti ji?
« Atsakymas #16 Įrašytas: 2012-12-17 18:44:39 pm »
Tai tipo taip ?

<?php
function news(){
$mysqli = new mysqli("localhost""root""""demo");
$result $mysqli->query("SELECT*FROM news");
while(
$row $result->fetch_assoc()){
echo
"<table>
<tr><td class='naujienosup'>{$row['title']} || Autorius : {$row['Author']}<br></td></tr>
<tr><td class='naujienosb'>{$row['body']}
<br></td></tr></table><br>"
;
}
}
?>

Nežinomas mysqli kintamasis ir result jeigu išemu i išore funkcijos. čia pagal pavizdį kaip davė Justinas.

Siūlau nebandyti susiklijuoti iš pavyzdžių „va gal jau kažkas tokio“, o eiti ir pasimokyti nuosekliai. Patikėk, taip žymiai geriau, kai supranti, ką darai :)

O gal galima išimti lauk tą prijungimą y duombaze nes man būtent tai neatrodo labai saugu.
O kaip padarysi „saugiau“? Duomenis vis tiek kažkur reikės saugoti, jei ne source, tai environment variables ar apskritai kažkokiam faile.
Tik aišku, kad kiekviena funkcija neturėtų jungtis prie mysql iš naujo... :)

eXpire

  • Svečias
Ats: Ar viskas gerai funkcijos kode ar galima paturmpinti/pagerinti ji?
« Atsakymas #17 Įrašytas: 2012-12-17 18:47:35 pm »
Tai tipo taip ?

<?php
function news(){
$mysqli = new mysqli("localhost""root""""demo");
$result $mysqli->query("SELECT*FROM news");
while(
$row $result->fetch_assoc()){
echo
"<table>
<tr><td class='naujienosup'>{$row['title']} || Autorius : {$row['Author']}<br></td></tr>
<tr><td class='naujienosb'>{$row['body']}
<br></td></tr></table><br>"
;
}
}
?>

Nežinomas mysqli kintamasis ir result jeigu išemu i išore funkcijos. čia pagal pavizdį kaip davė Justinas.

Siūlau nebandyti susiklijuoti iš pavyzdžių „va gal jau kažkas tokio“, o eiti ir pasimokyti nuosekliai. Patikėk, taip žymiai geriau, kai supranti, ką darai :)

O gal galima išimti lauk tą prijungimą y duombaze nes man būtent tai neatrodo labai saugu.
O kaip padarysi „saugiau“? Duomenis vis tiek kažkur reikės saugoti, jei ne source, tai environment variables ar apskritai kažkokiam faile.
Tik aišku, kad kiekviena funkcija neturėtų jungtis prie mysql iš naujo... :)

Aš nesiklijavau iš pvz paš pažėjau kaip turi būti nuorodoje kurią tu davei i manualus ir ten viskas buvo surašyta :)

Neprisijungęs justinas

  • Naujokas
  • *
  • Įrašai: 163
  • Karma: +16/-3
    • Žiūrėti profilį
Ats: Ar viskas gerai funkcijos kode ar galima paturmpinti/pagerinti ji?
« Atsakymas #18 Įrašytas: 2012-12-17 18:50:16 pm »
Aš nesiklijavau iš pvz paš pažėjau kaip turi būti nuorodoje kurią tu davei i manualus ir ten viskas buvo surašyta :)
Taip, suprantu, bet vis tiek išlieka faktas – susiradai vieną dalyką, padarei pagal jį, ir viskas. Po poros dienų galbūt teks eiti atgal ir žiūrėti vėl :)

eXpire

  • Svečias
Ats: Ar viskas gerai funkcijos kode ar galima paturmpinti/pagerinti ji?
« Atsakymas #19 Įrašytas: 2012-12-17 19:03:44 pm »
Nelabai aš suprantu tu kažkokiu PDO,mysqli kažkaip netaip su jais nu tiesiog arba yra neįmanoma arba belekaip sunku yra padaryti taip kaip reikia, ir man dar per sunku kada aš pilnai tuo php naudotis dar nemoku o jau taip giliai lyst, aš išvis db net nežinau nes visi sako bibliotekom naudojasi, gal kas nors paaiškins kas tai yra?

Manualai.lt Forumas

Ats: Ar viskas gerai funkcijos kode ar galima paturmpinti/pagerinti ji?
« Atsakymas #19 Įrašytas: 2012-12-17 19:03:44 pm »