Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

Dėl PHP sistemos


Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3169 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

Labas vakaras, turiu patirties prie PHP, bet noriu dar labiau tobulėti tad norėčiau pradėti kokią unikalią sistemą kurti nuo 0 su PDO. Tai norėčiau pakausti kelių dalyku:

1. Dėl function:
Kaip traukti nario info, pvz jo funkcija yra 
 

function narys () {
 //cia jo pagr info PVZ: SELECT * FROM users WHERE username = :username ir tt.
}

o kaip padaryt kad isvestu pvz email

ar:
narys()->email

ar cia blogai nežinau būtų gerai pilną kodą

2. Kaip apsaugot failus kad žmonės neitų taip: http://web.as/engine/scriptai/narys.php

ir išmetų kokį error ar išvestų į pagrindinį, krč supratot gal :)

Nuoroda į komentarą
Dalintis per kitą puslapį

(redaguota)

1. ne funkcija turi buti, o klase. pasiskaityk apie php object-oriented http://code.tutsplus.com/tutorials/object-oriented-php-for-beginners--net-12762

2. nesupratau kaip tu cia nori tuos failus apsaugoti, bet manau tai turi daryti per .htaccess failiuka

1. Gal būtų pavizdys

2. PVZ ant datalife engine:

if(!defined( 'DATALIFEENGINE' )) {
	die( "Hacking attempt!" );
}

čia taip ant kiekvieno failo, išskyrus config.php ir index.php

Redaguota , nario TheNerka
  • Teigiamai 1
  • Neigiamai 1
Nuoroda į komentarą
Dalintis per kitą puslapį

1. Gal būtų pavizdys

2. PVZ ant datalife engine:

if(!defined( 'DATALIFEENGINE' )) {
	die( "Hacking attempt!" );
}

čia taip ant kiekvieno failo, išskyrus config.php ir index.php

 

tai tam ir numeciau tau ta psl kad pavyzdi pasiziuretum, bet jeigu neimatai, tai:

class User {
	private $username, $email;
	
	public function __construct($username){
		$result = mysqli::query("SELECT * FROM users WHERE username = $username")->fetch_assoc();
		$this->username = $result->["username"];
		$this->email = $result->["email"];
	}
	
	public function getUsername(){
		return $this->username;
	}
	
	public function getEmail(){
		return $this->email;
	}
}

nu ir po to kazkur darai sitaip, kad uzkraut is duom bazes:

$user = new User("blabla");
  • Teigiamai 2
  • Neigiamai 2
Nuoroda į komentarą
Dalintis per kitą puslapį

  • Parašė po 4 savaičių...

O nepaprasčiau būtų tiesiog funkciją o ne klasę ? Pagal tavo pvz tai norėsi ištraukti 10 duomenų ir 10 užklausų į SQL servą, o jeigu vienu metu 1 000 userių paspaus ? Bus 10 000 užklausų ir kaltinsit sysadminus dėl lėto darbo

<?php
function userinfo($user) {
$tmp=mysql_query("SELECT * FROM users WHERE username='$user'");
$info=mysql_fetch_array($tmp);
return $info;
}
$info=userinfo("petras");
echo $info['username'];
echo $info['email'];
echo $info['blablabla'];
?>
Redaguota , nario Craftbukkit
  • Teigiamai 2
  • Neigiamai 1
Nuoroda į komentarą
Dalintis per kitą puslapį

 

O nepaprasčiau būtų tiesiog funkciją o ne klasę ? Pagal tavo pvz tai norėsi ištraukti 10 duomenų ir 10 užklausų į SQL servą, o jeigu vienu metu 1 000 userių paspaus ? Bus 10 000 užklausų ir kaltinsit sysadminus dėl lėto darbo

<?php
function userinfo($user) {
$tmp=mysql_query("SELECT * FROM users WHERE username='$user'");
$info=mysql_fetch_array($tmp);
return $info;
}
$info=userinfo("petras");
echo $info['username'];
echo $info['email'];
echo $info['blablabla'];
?>

lol, mysql_*

Nuoroda į komentarą
Dalintis per kitą puslapį

Tiesa pasakius nelabai supratau ko nori, bet šiokį tokį kodą suraičiau, tikiuosi padės.

Dėl veikimo nežinau - netikrinau.

if (isset($_GET['perziura'])) {
	$sql = $db->prepare("SELECT * FROM users WHERE id = :id LIMIT 1");
	$sql->execute(array(":id" => $_GET['perziura']));
	$userdata = $sql->fetchAll();
	
	if (count($sql) > 0) { 
		echo "Nario ".$userdata['vardas']." profilis";
	} else {
		echo "Toks narys neegzistuoja";
	}
} elseif (isset($_GET['profilio_redagavimas'])) { // taip galesi prideti, kad tave paciame faile galimetu redaguooti profili, ar dar velniai zino ka
	// tavo kodas
} else {
	header("Location: index.php");
	die("mink is cia");
}

Norėdamas peržiūrėti profilį nurodyk nuorodą narys.php?perziura=1

1 = nario id pagal kurį trauks visą jo informacija.

Redaguota , nario notanull
Nuoroda į komentarą
Dalintis per kitą puslapį

O esmė, kad jis tą tekstą pamatytų jei dėl kokių nors priežasčių nebūtų perkeltas į kitą puslapį, neteko dar su tuo susiduri, tačiau kai tik pradėjau mokytis visada rekomenduodavo, kaip planą b. Ir dar jei netyčia koks kodas pakliūtų už if'o ribų, tuo pačiu būtų nutrauktas ir jo veikimas. Galbūt pilname kode ir logiškiau atrodytų tas die.

Ir be to labai daug komentuoji, bet kodėl pats nepasiruoši padėt jei viską taip gerai išmanai ? :)

Nuoroda į komentarą
Dalintis per kitą puslapį

O esmė, kad jis tą tekstą pamatytų jei dėl kokių nors priežasčių nebūtų perkeltas į kitą puslapį, neteko dar su tuo susiduri, tačiau kai tik pradėjau mokytis visada rekomenduodavo, kaip planą b. Ir dar jei netyčia koks kodas pakliūtų už if'o ribų, tuo pačiu būtų nutrauktas ir jo veikimas. Galbūt pilname kode ir logiškiau atrodytų tas die.

Ir be to labai daug komentuoji, bet kodėl pats nepasiruoši padėt jei viską taip gerai išmanai ? :)

o kokie mes irzlus, nerasau todel nes jau padejo, tai kam dar rasyti kazka? O padejes esu daug kam, kazkas pamatys pasireiks

ir bėja 'dėl kažkokių priežasčių' čia jau būtų programuotojo žioplumas, jeigu tai įvyktų

  • Teigiamai 1
Nuoroda į komentarą
Dalintis per kitą puslapį

Atsakysiu į tavo pranešimą ir daugiau diskusijos nebetęsiu, nematau reikalo tai daryti su žmogumi kuris tik kažką pavaidint bando, bet nesugeba pagrįsti savo nuomonės, o ir temos esmė - pagalba.

 

nerasau todel nes jau padejo, tai kam dar rasyti kazka? 

 

Išreiški nuomonę, jei manai, kad kitų pavyzdžiai blogi - pateik savo.

Svarbu ne tai, kad žmogus gaus kodą, dar svarbiau yra suprasti kas jame vyksta.

Jei manai, kad klaidinam žmogų - pateik savo nuomonę, tik nepamiršk jos pagrįsti, kaip civilizuotas žmogus.

Tai yra forumas kur galima laisvai reikštis, o ne orakulų klubas kur spėjamą kokia šiandien nuotaika.

 

Kaip spėju teisingą atsakymą laikai nario "-Modestas", bet pažiūrim atidžiau -

Pas jį kode nario el.paštas ir slapyvardis yra traukiamas pagal nario slapyvardį, o paskui dar atskira funkciją sukurta išgauti slapyvardį, bet čia dar ne viskas - kam traukti visus laukelius iš duomenų bazės jei naudoji tik 2? dėl saugumo 2 laukelius ir pasiimk. bet kaip tada funkcijos lankstumas, kaip kitus laukelius išgaut ? naują funkciją kurt... labai racionalu ...

Šių dalykų nepastebėjai, svarbu pastebėjai kažkokia die funkciją po perkelimo. Valio !

 

 

ir bėja 'dėl kažkokių priežasčių' čia jau būtų programuotojo žioplumas, jeigu tai įvyktų

 

 

Įdomus mastymas sakyčiau ... jei netyčia kažkur įsivėlė klaida - pirmyn paleidžiam valdžia ir puolam į paniką. O gal geriau pasidarysiu planą b ? ir apgalvokim viską vienu žingsniu į priekį.

Galiu ir pavyzdį pateikti kaip galėtų būti panaudotas tas die kuris tau pasirodė ne vietoje - tarkim norėčiau žymėti sėkmingai atliktas failo užklausas - pačiame failo gale pasirašau norimą kodą ir viskas neturiu bėdų, kadangi užėjus tiesiogiai į failą visas veikimas būtų nutrauktas ir į logus nieko nerašytų.

Priešingu atveju - įvykdytų visas užklausas kurios yra "neutralioje zonoje" (viskas po if'ų tikrinimo) ir tik tada peradresuotu.

 

 

Ir dar labai įdomi tavo eilutė pasirodė

O padejes esu daug kam, kazkas pamatys pasireiks

 

ant sienos žymi kiekvieną kartą kažkam padėjęs ? kiek padėjimų per dieną limitas ?

Mažų mažiausiai - juokinga, arba padedi, paaiškini normaliai ir galim diskutuot, o ne kaip kokie vaikai kas kokį kietesnį žodį pasakys, arba laukt aplinkinių palaikymo kai nebėra ką pasakyti.

Pranešimų kiekis ar reputacija - nepadaro pranešimo protingesnio.

 

Galiu tiesiai šviesiai ir susidarytą apie tave nuomonę pareikšti - nori primesti labai kietą "koduotoją", arba nori pasididinti pranešimų skaičių, nes kol kas nieko daugiau ir nepadarei.

Redaguota , nario notanull
Nuoroda į komentarą
Dalintis per kitą puslapį

woah, pataisiau tave, kad nebedarytum tokių klaidų, nes man tai pasirodė kad 'ner tikslo taip daryti', o tu čia jau puoli į paniką, tai iš to galiu susidaryti nuomonę kad čia vienintelis tik tų bandai primesti kietą programerį, kurio negalima pažeisti, aš tave pataisiau, o tu vat kiek čia litanijų prirašei

Nuoroda į komentarą
Dalintis per kitą puslapį

Tai vadinama ne panika, o pagrįsta nuomonė.

Tu bandai mane pataisyti, bet aš pateikiu galimas versijas ir bandau paaiškinti kodėl viskas taip yra. Atsimerk, tu tiesiog matai teksto ilgi o ne svorį.

Tai nėra panika, ar irzlumas ar dar ką ten gali sugalvoti. Tai yra diskusija - nuomonės gali skirtis, todėl reikia įrodyt savo nuomonės pranašumą o ne nukreipti temą.

Jei tau atrodo, kad pateikti sprendimai nelogiški ar šiaip kažkas su jais negerai - pateik savo, paaiškink žmogui kodėl taip yra negerai, kas anaip blogai ir optimaliausia sprendimą parašyk. Aš patarimų neprašau, mano tikslas - padėti. Tavo tikslas šiuo pranešimų pasirinkti. Kad ir kaip nukrypom nuo temos aš vis dėl to dar apie kodą kurio žmogui reikėjo kalbu, ir bandau įrodyt kodėl viską padariau taip ar anaip, o tu jau apie asmeninius interesus. :)

Nuoroda į komentarą
Dalintis per kitą puslapį

^ +

Tai vadinama ne panika, o pagrįsta nuomonė.

Tu bandai mane pataisyti, bet aš pateikiu galimas versijas ir bandau paaiškinti kodėl viskas taip yra. Atsimerk, tu tiesiog matai teksto ilgi o ne svorį.

Tai nėra panika, ar irzlumas ar dar ką ten gali sugalvoti. Tai yra diskusija - nuomonės gali skirtis, todėl reikia įrodyt savo nuomonės pranašumą o ne nukreipti temą.

Jei tau atrodo, kad pateikti sprendimai nelogiški ar šiaip kažkas su jais negerai - pateik savo, paaiškink žmogui kodėl taip yra negerai, kas anaip blogai ir optimaliausia sprendimą parašyk. Aš patarimų neprašau, mano tikslas - padėti. Tavo tikslas šiuo pranešimų pasirinkti. Kad ir kaip nukrypom nuo temos aš vis dėl to dar apie kodą kurio žmogui reikėjo kalbu, ir bandau įrodyt kodėl viską padariau taip ar anaip, o tu jau apie asmeninius interesus. :)

tai aš parašiau, kam to reikia, tu man atsakei, aš pasakiau jog to įvykti negali, ir tu pradėjai, tai aš visai tavęs nesuprantu, tu vis tapatį rašai 'pateik savo' ir kt. 'apie asmeninius interesus', w t f. Pataisiau tavę, tu man atsakei, pasakiau jog to įvykti negali, ir tu kaip pažeistas jau pradėjai čia kažką rašinėti, į ką net nekreipiu demėsio, tave pataisiau ir viskas, man nelabai ir galvą skaudą ką tu manai apie mane ar kt. so, cya

Nuoroda į komentarą
Dalintis per kitą puslapį

 

 

pasakiau jog to įvykti negali, ir tu kaip pažeistas jau pradėjai čia kažką rašinėti

O aš pasakiau kokiais atvejais gali įvykti. 

Jei nekreipi dėmesio - kam reikia kažką rašyti ? 

į klausimą gali neatsakyti , nebesiruošiu tęsti diskusijos kai gaunu ne nuomonę o apibrėžimus apie tai kas vyksta.

Redaguota , nario notanull
Nuoroda į komentarą
Dalintis per kitą puslapį

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3169 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Svečias
Ši tema yra užrakinta.
  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...