Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> kolejny mam dziś problem...
patrycjusz
post 28.07.2003, 19:55:57
Post #1





Grupa: Zarejestrowani
Postów: 263
Pomógł: 0
Dołączył: 13.07.2003
Skąd: wawa

Ostrzeżenie: (0%)
-----


Najpierw słowo wstępu... - czytałem manuala na ten temat o który pytam... ale niestety jeszcze chyba zbyt "mały" jestem żeby zrozumieć rzeczy które tam są, tak więc najpierw kawałek logujący[php:1:7a45fd65dd]
<?php
include ("plik1.php");
if(isset($log) && isset($pass)){
if($log == $_POST['login'])
{
if($pass == $_POST['password'])
{
session_start();
session_register('log');
session_register('pass');
header('location: bobo.php?'.SID);
print "jest ok";
exit();
} else {
echo 'Nieprawidlowe dane!'; }
}
}
?>
<FORM method="POST" action="<?php echo $PHP_SELF?>">
Login:<INPUT type='text' class='login' name='login'>
Haslo:<INPUT type="password" class="password" name="password">
<INPUT type="submit" value="ok"></td></tr>
</FORM>
?>[/php:1:7a45fd65dd]
i teraz kawałek includującego się pliku a dokładnie...
[php:1:7a45fd65dd]
<?phpfunction uzytkownicy(){
global $log,$pass;
$wynik = mysql_query("SELECT login,haslo FROM uzytkownicy");
$rekord = mysql_fetch_array($wynik);
$log = $rekord[0];
$pass = $rekord[1];
}
uzytkownicy();
?>[/php:1:7a45fd65dd]
no i teraz pytanie pierwsze
- jak zrobić aby wszystkie rekordy zapisane w bazie były przypisywane
do zmiennych (przepraszam jeżeli napisałem coś dziwnego - jeszcze raczkuję w php) a dokładniej chodzi mi o funkcję która zwróci wszystkie wartości dla określonej kolumny np. haslo?
- opiszę problem też tak... działa mi tylko jeden login i hasło które są pierwszymi rekordami w bazie,
- i pytanie troszeczkę inne gdy jako plik includujący się był plik tekstowy z tylko zapisanymi zmiennymi to było ok a teraz wywala mi takie błędy...
Kod
Warning: Cannot send session cache limiter - headers already sent (output started at c:apachehtdocsnaukaforumplik1.php:25) in c:apachehtdocsnaukaforumplik2.php on line 8



Warning: Cannot add header information - headers already sent by (output started at c:apachehtdocsnaukaforumplik1.php:25) in c:apachehtdocsnaukaforumplik2.php on line 11

Wielkie dzięki z góry dla tych którzy wyrażą wole pomocy...
Go to the top of the page
+Quote Post
itsme
post 28.07.2003, 19:58:25
Post #2





Grupa: Zarząd
Postów: 1 512
Pomógł: 2
Dołączył: 22.04.2002
Skąd: Koszalin




include ("plik1.php"); - a co tam jest questionmark.gif


--------------------
brak sygnaturki rowniez jest sygnaturką
Go to the top of the page
+Quote Post
patrycjusz
post 28.07.2003, 20:06:16
Post #3





Grupa: Zarejestrowani
Postów: 263
Pomógł: 0
Dołączył: 13.07.2003
Skąd: wawa

Ostrzeżenie: (0%)
-----


no właśnie ta funkcja przedstawiona w poprzednim poscie pobierająca login i haslo z bazy i tutaj mam problem bo pobiera mi tylko pierwszy rekord ni i jeszcze funkcja łącząca z bazą.
Go to the top of the page
+Quote Post
patrycjusz
post 28.07.2003, 21:05:45
Post #4





Grupa: Zarejestrowani
Postów: 263
Pomógł: 0
Dołączył: 13.07.2003
Skąd: wawa

Ostrzeżenie: (0%)
-----


zadam pytanie... Czy ktoś jest w stanie mi pomóc ?
Go to the top of the page
+Quote Post
Omega
post 28.07.2003, 21:28:36
Post #5





Grupa: Zarejestrowani
Postów: 273
Pomógł: 0
Dołączył: 5.05.2003
Skąd: Mazury

Ostrzeżenie: (0%)
-----


powinieneś użyć pętli do wszytania wyników z tabeli.. twój kod wygląda nastepująco:

[php:1:34d1a8e8d4]<?php
$rekord = mysql_fetch_array($wynik);
$log = $rekord[0];
$pass = $rekord[1];
?>[/php:1:34d1a8e8d4]

sprubój zrobic to tak:

[php:1:34d1a8e8d4]<?php
while( $rekord = mysql_fetch_array($wynik) )
{
$log[] = $rekord[0];
$pass[] = $rekord[1];
}
?>[/php:1:34d1a8e8d4]

Dzięki temu w tablicach $log i $pass będziesz miał to czego chciałeś...biggrin.gif

Dalej powinieneś je wykożystać tak jak już tego potrzebujesz... biggrin.gif


--------------------
<<< EB >>>
Go to the top of the page
+Quote Post
patrycjusz
post 28.07.2003, 21:37:48
Post #6





Grupa: Zarejestrowani
Postów: 263
Pomógł: 0
Dołączył: 13.07.2003
Skąd: wawa

Ostrzeżenie: (0%)
-----


widzisz omega to co podałeś akurat mi nie pomogło... :cry: ale to nic będe próbował,czytał do późna... zastanawia mnie czy nikogo niema czyteż tylko ty miałeś chęci mi pomóc :wink: .
Takie jedno pytanie - spójrz jeszcze raz na ten kod i powiedz mi co ty byś zrobił aby zadziałał.
Z góry dzieki. laugh.gif
Go to the top of the page
+Quote Post
Omega
post 28.07.2003, 21:48:59
Post #7





Grupa: Zarejestrowani
Postów: 273
Pomógł: 0
Dołączył: 5.05.2003
Skąd: Mazury

Ostrzeżenie: (0%)
-----


Powiedz czy to jest jedyny kod jaki masz na tej stronie, czy przed tym skryptem nie ma nic innego... bo sesja musi się zacząć przed jakim kolwiek kodem html... pokaż mi cały skrypt...


--------------------
<<< EB >>>
Go to the top of the page
+Quote Post
patrycjusz
post 28.07.2003, 21:54:35
Post #8





Grupa: Zarejestrowani
Postów: 263
Pomógł: 0
Dołączył: 13.07.2003
Skąd: wawa

Ostrzeżenie: (0%)
-----


o to skrypt
[php:1:9a721d26b5]<?php
include ("plik1.php");
if(isset($log) && isset($pass)){
if($log == $_POST['login'])
{
if($pass == $_POST['password'])
{
session_start();
session_register('log');
session_register('pass');
header('location: bobo.php?'.SID);
print "jest ok";
exit();
} else {
echo 'Nieprawidlowe dane!'; }
}
}
?>
<FORM method="POST" action="<?php echo $PHP_SELF?>">
Login:<INPUT type='text' class='login' name='login'>
Haslo:<INPUT type="password" class="password" name="password">
<INPUT type="submit" value="ok"></td></tr>
</FORM>

?>[/php:1:9a721d26b5] a oto plik includowany plik1.php
[php:1:9a721d26b5]<?php<?php
$host = "localhost";
$login_bazy = "root";
$haslo_bazy = "root";
$baza = "Mforum";

function baza() {
global $host,$login_bazy,$haslo_bazy,$baza;
$polaczdb = mysql_connect ($host,$login_bazy,$haslo_bazy) or die
("<b>nie udało się połączyć</b>");
$wybierzdb = mysql_select_db ($baza,$polaczdb) or die
("<b>nie udało się wybrać bazy danych");
}
baza();
function pokaz(){
global $log,$pass;
$wynik = mysql_query("SELECT login,haslo FROM uzytkownicy");
while($rekord = mysql_fetch_array($wynik)){
$log[] = $rekord[0];
$pass[] = $rekord[1];
}}
pokaz();
?>


?>[/php:1:9a721d26b5]
Dzieki za zaintersowanie :wink:
Go to the top of the page
+Quote Post
Omega
post 28.07.2003, 22:03:15
Post #9





Grupa: Zarejestrowani
Postów: 273
Pomógł: 0
Dołączył: 5.05.2003
Skąd: Mazury

Ostrzeżenie: (0%)
-----


aaa no widzisz... biggrin.gif

[php:1:84b67eb7f8]<?php
function baza() {
global $host,$login_bazy,$haslo_bazy,$baza;
$polaczdb = mysql_connect ($host,$login_bazy,$haslo_bazy) or die
("<b>nie udało się połączyć</b>");
$wybierzdb = mysql_select_db ($baza,$polaczdb) or die
("<b>nie udało się wybrać bazy danych");
}
?>[/php:1:84b67eb7f8]

tutaj masz coś co przeszkadza...
musisz ten plik dołączyć po tym jak zainicjujesz sesję... i będzie git...
smile.gif


--------------------
<<< EB >>>
Go to the top of the page
+Quote Post
patrycjusz
post 28.07.2003, 22:08:25
Post #10





Grupa: Zarejestrowani
Postów: 263
Pomógł: 0
Dołączył: 13.07.2003
Skąd: wawa

Ostrzeżenie: (0%)
-----


dzięki omega ale akurat tego się dosyć szybko domyśliłem niewiem tylko dlaczego niedziała mi samo logowanie? :?
Go to the top of the page
+Quote Post
Omega
post 28.07.2003, 22:12:21
Post #11





Grupa: Zarejestrowani
Postów: 273
Pomógł: 0
Dołączył: 5.05.2003
Skąd: Mazury

Ostrzeżenie: (0%)
-----


z kolei teraz jak dołączasz plik po tym wszystkim, to zmienne $log i $pass nie są zainicjowane... musisz rozdzielic kod... :?


--------------------
<<< EB >>>
Go to the top of the page
+Quote Post
patrycjusz
post 28.07.2003, 22:25:53
Post #12





Grupa: Zarejestrowani
Postów: 263
Pomógł: 0
Dołączył: 13.07.2003
Skąd: wawa

Ostrzeżenie: (0%)
-----


czyli? proszę wytłumacz mi to jaśniej na przykładzie bo już od dwóch dni niespie
i próbuję pare podobnych rzeczy
DZIEKI :wink:
Go to the top of the page
+Quote Post
spenalzo
post 28.07.2003, 22:30:32
Post #13





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Musisz zastosować odwoływanie się do zmiennych (np. przez referencję), bo z tego co widxzę to funkcja pokaz() nic nie robi z tablicami $pass i $log, tzn. nie zwraca ich wartości.


--------------------

Go to the top of the page
+Quote Post
patrycjusz
post 28.07.2003, 22:34:29
Post #14





Grupa: Zarejestrowani
Postów: 263
Pomógł: 0
Dołączył: 13.07.2003
Skąd: wawa

Ostrzeżenie: (0%)
-----


cosik czytałem na ten temat w manualu ale lipa z moim angielskim
jaK BYŚ MÓGŁ MI PRZYBLIRZYĆ TEMAT REFERENCJI NA TYM KONKRETNYM PRZYKŁADZIE TO BEDE WDZIĘCZNY. :wink:
pozdrawiam
Go to the top of the page
+Quote Post
spenalzo
post 28.07.2003, 22:55:23
Post #15





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


To akurat jest po polsku :!:
Ale ok:
Nie wiem co robisz wcześniej z tablicami $log i $pass, dlatego zakładam, że są puste:
[php:1:dcbb44b5e2]<?php
$log=array();
$pass=array();
function pokaz(&$log, &$pass)
{
$wynik = mysql_query("SELECT login,haslo FROM uzytkownicy");
while($rekord = mysql_fetch_array($wynik))
{
$log[] = $rekord[0];
$pass[] = $rekord[1];
}
pokaz($log, $pass);
?>[/php:1:dcbb44b5e2]
i po wykonaniu tej funkcji masz te dwie tablice uzupełnione o dane.


--------------------

Go to the top of the page
+Quote Post
patrycjusz
post 28.07.2003, 23:05:24
Post #16





Grupa: Zarejestrowani
Postów: 263
Pomógł: 0
Dołączył: 13.07.2003
Skąd: wawa

Ostrzeżenie: (0%)
-----


heh już przeczytałem duży zemnie leń ale to się zmienia, staram sie,
dzieki za zaintersowanie :wink:
Go to the top of the page
+Quote Post
Omega
post 28.07.2003, 23:11:44
Post #17





Grupa: Zarejestrowani
Postów: 273
Pomógł: 0
Dołączył: 5.05.2003
Skąd: Mazury

Ostrzeżenie: (0%)
-----


... i jeszcze jedno, skoro masz to w tablicach, tablice rejestrujesz w sesji, to do nich powinieneś się odwoływać, popraw kod:
[php:1:c941b796ce]<?php
if($log == $_POST['login'])
{
if($pass == $_POST['password'])
?>[/php:1:c941b796ce]

zmienne $log i $pass są tablicami w tym wypadku... smile.gif


--------------------
<<< EB >>>
Go to the top of the page
+Quote Post
KaMeLeOn
post 28.07.2003, 23:13:50
Post #18





Grupa: Zarejestrowani
Postów: 680
Pomógł: 0
Dołączył: 1.10.2002
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Cytat
zmienne $log i $pass są tablicami w tym wypadku... smile.gif

ke..?
Jak można porównywać tablice z konkretnymi wartościami? Pomyśl...


--------------------
"Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
Go to the top of the page
+Quote Post
patrycjusz
post 28.07.2003, 23:16:35
Post #19





Grupa: Zarejestrowani
Postów: 263
Pomógł: 0
Dołączył: 13.07.2003
Skąd: wawa

Ostrzeżenie: (0%)
-----


panowie to o co w końcu chodzi?
i jak poprawić błąd?
Go to the top of the page
+Quote Post
spenalzo
post 28.07.2003, 23:19:04
Post #20





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Cytat
panowie to o co w końcu chodzi?
i jak poprawić błąd?

Bueeeee ;-(((( I po co ja sie tyle naprodukowałem i naszukałem w manualu..


--------------------

Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.07.2025 - 22:35