Avatar billede knagen7100 Novice
07. marts 2005 - 21:11 Der er 10 kommentarer og
1 løsning

Overførsel af variable

Jeg er ved at lave et login system med MySQL og PHP.
I PHP laver jeg en forspørgsel på hele min bruger tabel således:

while ($rs = mysql_fetch_array($resultat)) {
  extract($rs);
}

Indenfor de to tuborg kan jeg se alle rækker fra min tabel, men når jeg går udenfor tuborg kan jeg kun se sidste rækken i tabbellen. Længere ned i min kode har jeg bruge for at få alle værdierne fra tabbellen for at lave en sammenligning.

Hvordan får jeg lagt alle resultaterne i en variabel som jeg kan bruge udenfor tuborg??
Avatar billede nizo Nybegynder
07. marts 2005 - 21:14 #1
Lav en:

<?
while ($rs = mysql_fetch_array($resultat)) {
  extract($rs);
?>

(Dine ting her)

<?
}
?>
Avatar billede knagen7100 Novice
07. marts 2005 - 21:20 #2
Hhhhhmmmm

Det medvirker jo bare at (Dine ting her) bliver til alm. html kode og bliver skrevet ud i browseren.
Avatar billede nizo Nybegynder
07. marts 2005 - 21:26 #3
Jaaahh..
Er det ikke bare noget med din din mysql_query ska du bruge ORDER BY id eller noget ??

ellers ved jeg ikke rigtig hva du mener :/
Avatar billede knagen7100 Novice
07. marts 2005 - 21:32 #4
Nej det er ikke det jeg mener.

while ($rs = mysql_fetch_array($resultat)) {
  extract($rs);

echo "$Bruger";
echo "$Pass";
}

Hvis jeg laver ovenstående får jeg alle rækker i databasen.

while ($rs = mysql_fetch_array($resultat)) {
  extract($rs);
}

echo "$Bruger";
echo "$Pass";


Laver jeg derimod den får jeg kun sidste rækken.

Alle reslutaterne ligger altså indenfor tuborg, men de må kunne flyttes ud af tuborg.
Avatar billede detox Nybegynder
07. marts 2005 - 22:03 #5
Hvis du skal bruge resultatet et andet sted på siden kan du gemme det i en variabel:

$out = '';
while ($rs = mysql_fetch_array($resultat)) {
  extract($rs);
  $out .= "$Bruger";
  $out .= "$Pass";
}

// længere nede i scriptet:
echo $out;
Avatar billede Slettet bruger
07. marts 2005 - 22:06 #6
for ($i = 1; $row = mysql_fetch_assoc($resultat); $i++) {
  $dbdata[$i] = $row;
}

Så kan du udskrive fx brugernavnet i 3 række med echo $dbdata[3]['bruger'];
og passworded fra 23. række: echo $dbdata[23]['pass'];
Avatar billede knagen7100 Novice
07. marts 2005 - 22:23 #7
Tak for hjælpen. Jeg giver detox point hvis han ligger et svar.

Jeg lige et lille problem med min samligning, hvis I kan hjælpe.

while ($rs = mysql_fetch_array($resultat)) {
  extract($rs);
$out1 .= "$Bruger";
$out2 .= "$Pass";
}
 

$bruger1 = $_POST["bruger"];
$pass1 = $_POST["pass"];

if
($out1 == $bruger1 && $out2 == $pass1)
{
print "Hej";
exit;
}
else
{
print "Ingen adgang";
exit;
}

Jeg får altid Ingen adgang
Avatar billede detox Nybegynder
07. marts 2005 - 22:39 #8
Denne konstruktion:

$out1 .= "$Bruger";

gør at alle dine bugere bliver lagt i en lang tekststreng.
Du skal hellere lave det på den her måde:

$bruger1 = $_POST["bruger"];
$pass1 = $_POST["pass"];

$res = mysql_query("SELECT * FROM tabel WHERE Bruger='$bruger1' AND Pass='$pass1'");
if (mysql_num_rows($res)>0) {
  print "Hej";
  exit;
} else {
  print "Ingen adgang";
  exit;
}
Avatar billede knagen7100 Novice
07. marts 2005 - 22:58 #9
Den giver warning:

mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\Inetpub\wwwroot\adgang.php on line 23
Ingen adgang
Avatar billede knagen7100 Novice
07. marts 2005 - 23:00 #10
Jeg har fundet fejl, glemte at åbne øjnene :-)

Men der point til dig hvis du er interresret.

Mange tak for hjælpen.
Avatar billede detox Nybegynder
07. marts 2005 - 23:01 #11
Jo da, velbekommen :O)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester