Pereiti prie turinio

Pagalba su mysql ir php.


Rekomenduojami pranešimai

Sveiki, kuriu TVS, mokymosi tikslams ir šiaip dėl įdomumo. Dažnai kyla klausimų, kaip tam tikrą dalyką padaryti. Kodėl neatvaizduoja Lietuviškų simbolių, vietoj jų hiroglifus, phpmyadmin nustatyta Lietuvybė ten viskas ok? Ir kaip ruošiuoti ID nuo dižiausio iki mažiausio?

 

$gid = mysql_query('SELECT ID,Title FROM gidai ORDER BY ID DESC');
while($gidas = mysql_fetch_assoc($gid))
{
	echo '<a href="gidai.html?ID='.$gidas['ID'].'">'.$gidas['Title'].'</a><br>';
}

 

Sukurta:

Vartotojų sistema (Prisijungimas, registracija, slaptažodžių šifravimas).

Pamokų sistema.

Redagavo arman
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Pačius PHP/HTML failus saugok UTF-8, nurodyk UTF-8 ir HTTP/HTML headeriuose, parink UTF-8 charsetą MySQL, įsitikink, kad laukeliuose stovi taisyklingi UTF-8 duomenys. Tada jau privalės veikt.

 

Kaip sakė gio, mysql_ funkcijos yra pasenusios ir nebepatariamos naudoti. Geriausia naudoti PDO. http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers

 

Ir kaip ruošiuoti ID nuo dižiausio iki mažiausio?

Kaip sakė Avice, dėl to viską padarei gerai.

 

Patarimas, mokykis MySQL ne kaip kažkokį PHP priedą (nes taip nėra), o tvarkingai, nuosekliai ir išsamiai. Nekils tokių paprastų klausimų kaip „kaip surūšiuoti“, bus supratimas, kur MySQL prasideda ir baigiasi, ir t.t. :)

Redagavo Silke
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Pačius PHP/HTML failus saugok UTF-8, nurodyk UTF-8 ir HTTP/HTML headeriuose, parink UTF-8 charsetą MySQL, įsitikink, kad laukeliuose stovi taisyklingi UTF-8 duomenys. Tada jau privalės veikt.

 

Kaip HTTP aš nustatau AddDefaultCharset UTF-8 būna viskas kaip ir gerai, bet iš mysql neatvaizduoja normaliai. O jeigu įmetu šitą <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> tada kituose failuse (headelio, footerio) simbolius atvaizduoja blogai, bet iš mysql gerai.

Redagavo arman
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kaip HTTP aš nustatau AddDefaultCharset UTF-8 būna viskas kaip ir gerai, bet iš mysql neatvaizduoja normaliai. O jeigu įmetu šitą <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> tada kituose failuse (headelio, footerio) simbolius atvaizduoja blogai, bet iš mysql gerai.

Nu tai patys failai ne UTF-8, o ne mysql duomenys. Ieškok editoriui koduotės nustatymo ir saugok viską UTF-8 arba UTF-8 Without BOM.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Jau persidariau į PDO, kažkaip nesudarė problemų, viskas paprasta ir aišku. Dabar darau slaptažodžių šifravimą. Šifrui naudoju PBKDF2. Slaptažodį sukuria pagal mane gerai, gaunu šitaip: sha256:1000:nrFFFUKayVxZvoGqeQnxssOpEPXqIwBf:KSsIgcHxiiRrf2r96F7OqUx5I21rYzcR. bet darau prisijungimą ir kažkodėl netinka man.

        foreach($db->query('SELECT ID,Password FROM users WHERE NickName=\''. $_POST['nick'] .'\' LIMIT 1') as $row) {

	$hash_of_password = create_hash($_POST['Password']);
	if (validate_password($row['Password'],$hash_of_password)){
		$_SESSION['uID'] = $row['ID'];
		header('Location: index.html');
	}
	else echo '<center><br>Blogas slaptažodis!</center>';
	if ($_SESSION['uID'] > 0) exit;	
}

 

PS gal dar kas žinot kokį gerą jquery skirtą langams atverti (prisijugimui naudosiu)?

Redagavo arman
Nuoroda į pranešimą
Dalintis kituose puslapiuose

aš nesu naudojęs "PBKDF2", bet su BCRPYT tai tikrinant slaptažodį reik ne hashinti jį, o tikrinti ar sutampa.

 

$this->bcrypt->check_password(posted_pass)

 

manau su tavo biblioteka irgi turėtų būti panašiai

Ai tingėjau kažkaip ieškoti problemos, pagalvojau, kad geriau bus bcrpyt hash. Viskas veikia iškarto be problemų.

Redagavo arman
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Klausimas. Kaip padaryti kad iš tam tikro teksto paimtų tik 20 raidžių, o toliau padėtų ...?

nors Arvis pateikė atsakymą, paaiškinsiu kas tai yra:

 

$string = (strlen($string) > 13) ? substr($string,0,10).'...' : $string;

 

tai prilygsta sąlygai:

 

$string = if(ilgesnis negu 13){ echo 'pirmi 10 simbolių + ...'; } else { echo 'visas tavo kintamsasis'; }

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Berods su PHP + unikodu tam reiktų naudoti mb_substr, nes substr gali perkirpti ir vidury UTF-8 simbolio: pvz., 10-11-12 baitai bus vienas simbolis, o paliks tik iki dešimto, ir gausis šlamštas.

 

http://lt1.php.net/mb_substr

 

        foreach($db->query('SELECT ID,Password FROM users WHERE NickName=\''. $_POST['nick'] .'\' LIMIT 1') as $row) {

Tikriausiai SQL injekcija.

Redagavo Silke
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Berods su PHP + unikodu tam reiktų naudoti mb_substr, nes substr gali perkirpti ir vidury UTF-8 simbolio: pvz., 10-11-12 baitai bus vienas simbolis, o paliks tik iki dešimto, ir gausis šlamštas.

 

teko keletą kartų daryti, net nepagalvojau apie tai, tiesa šiandien kaip tik susimąsčiau ar nėra tokios fjos, bet nesugalvojau query kokią vesti googlėje, dėkui :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose
  • po 4 savaičių...

Ilga laiką klausimų neiškilo darbuojuosi prie projekto ir toliau. Darau SEO (linkai, teksta ir t.t.) ir nesugalvoju kaip padaryti taip:

aš turiu linką http://xxxx.lt/news.html?ID=5 ir kaip man padaryti kad rodytų http://xxxx.lt/news/5-naujiena-ar-kazkas-kito. Nežinau kaip geriau daryti, tada prašau jūsų pagalbos.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Ilga laiką klausimų neiškilo darbuojuosi prie projekto ir toliau. Darau SEO (linkai, teksta ir t.t.) ir nesugalvoju kaip padaryti taip:

aš turiu linką http://xxxx.lt/news.html?ID=5 ir kaip man padaryti kad rodytų http://xxxx.lt/news/5-naujiena-ar-kazkas-kito. Nežinau kaip geriau daryti, tada prašau jūsų pagalbos.

htaccess rewrite?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...