Pereiti prie turinio

Informacijos iš MySQL išvedimas


Rekomenduojami pranešimai

Sveiki,

 

Mokausi PHP ir MySQL. Dabar pasidariau prisijungimo formą. Per phpMyAdmin sukūriau laukelius, vartotojus ir pan. viskas veikia, prisijungti pavyksta, tačiau neišeina išspausdinti duomenų taip kaip noriu.

 

DB yra laukeliai ID, vardas, password, pastas.

 

Dabar sukūriau 4 vartotojus. Prisijungus atliekamas šis skriptas, pvz prisijungiu vartotoju "pirmas" man išspausdina visų 4 vartotojų informaciją, o man reikia, kad išspausdinų tik "pirmas" vartotojo informaciją. Prisijungus vartotoju "antras" išspausdintų "antras" informaciją. O dabar prisijungiu bet kokiu vartotoju ir man atpila visų 4 vartotojų informaciją.

 

Ką blogai darau?

 

<?php
$con = mysql_connect("localhost","mokymas","password");
if (!$con)
{
  		die('Could not connect: ' . mysql_error());
}

mysql_select_db("mokymas", $con);

$result = mysql_query("SELECT * FROM vartotojai");

while($row = mysql_fetch_array($result))
  		{
  			echo "<table>";
   			echo "<tr>";
	   			echo "<td>";
		   			echo "<p>";
			   			echo "Testiniai duomenys:" . "<br />";
			   			echo "Vardas: " . $row['vardas'] . "<br />";
			   			echo "El. paštas: " . $row['pastas'] . "<br />";
		   			echo "</p>";
	   			echo "<td>";
   			echo "<tr>";
  			echo "</table>";
}

Redagavo acmeris
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Tai

 

<?php
session_start();
if(!session_is_registered(myusername)){
header("location:index.php");
	}
?>

ir


SELECT * FROM vartotojai WHERE myusername=vardas"

 

Nieko neišveda

 

$result = mysql_query("SELECT * FROM vartotojai WHERE id=???");

Turėtum Cookies arba Session saugot vartotojo kokią nors informaciją (id, vartotojo vardas) ir tada rašai WHERE mysql užklausoje, kad pasirinktum tik reikalingo vartotojo informaciją

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Tai

 

<?php
session_start();
if(!session_is_registered(myusername)){
header("location:index.php");
	}
?>

ir


SELECT * FROM vartotojai WHERE myusername=vardas"

 

Nieko neišveda

1. Naudok PDO.

2. Mokykis SQL pagrindus.

 

O be PDO atrodytų taip.

$vardas = mysql_real_escape_string($vardas);
mysql_query("SELECT * FROM vartotojai where myusername='$vardas'");

Nuoroda į pranešimą
Dalintis kituose puslapiuose

$vardas = mysql_real_escape_string($vardas);
mysql_query("SELECT * FROM vartotojai where myusername='$vardas'");

Kai taip parašau nieko neišveda.

 

"SELECT * FROM vartotojai WHERE vardas='pirmas'"

 

Kai parašau taip ^ su visais vartotojais prisijungus išveda pirmas informaciją.

Redagavo acmeris
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Tarp kitko, atvaizdavimo pabaigoje tu dar kartą naudoji HTML atdaryymo tagus (<tr> ir <td>).

 

Kai parašau taip ^ su visais vartotojais prisijungus išveda pirmas informaciją.

 

Vietoj to pirmas naudok kažkokį kitamąjį, kuris parodytų, kieno info išvesti. Paprastesnis būdas - tiesiog susirasti kokį paprastą PHP Login skripto tutorialą ar patį skriptą ir pasinagrinėti.

Redagavo bratkax
Nuoroda į pranešimą
Dalintis kituose puslapiuose

jeigu naudoji cookies

$result = mysql_query("SELECT * FROM vartotojai WHERE id=""'$_COOKIE['id']'"");

Kad kabučių privarei gyvą velnią – gal ir nieko, pasitaisyti įmanoma. Kad, pataisius kodą, tavo DB nuneš per 1 minutę – čia jau nieko gero...

Redagavo Silke
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Išvedimą susitvarkiau, dabar išveda viską gerai.

 

Tačiau nerodo lietuviškų raidžių. Pačioj DB raidės yra lietuviškos ten naudoju (utf8_lithuanian_ci).

 

 

Puslapyje:

<meta http-equiv="content-type" content="text/html;charset=windows-1257" />

 

 

Vietoj lietuviškų simbolių išveda "?".

 

PVZ:

echo "Pavardė: " . $row['pavarde'] . "<br />";

 

Žodį "Pavardė:" išveda normaliai, o "$row['pavarde']" su "?"

Pavardė: Mauru?aitis

 

Kas čia blogai?

Redagavo acmeris
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ą...