Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Tablica
zdandro
post
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 24.03.2004

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


Witam wszystkich.

Mam wrecz banalne pytanie - mowie od razu (IMG:style_emoticons/default/smile.gif) Banalne dla tych, ktorzy znaja odpowiedz... A wiec chodzi o tablice - znane sa mi petle for, foreach itd... i uzywanie ich jest banalnie proste. Jednak to nie dziala.

A wiec mam taka tablice:
  1. $_array = $array ("exp1"=>"content1",
  2. "exp2"=>"content2" );

Jest sporo funkcji szukajacych podanych wyrazen w tablicy (in_array, array_key_exists itp...)

A wiec mam wyrazenie:
  1. $_expression = array_key_search("exp1", $_array);

Zwraca to exp1 z tablicy - jak na tej podstawie okreslic zawartosc pola "obok" (content1)?

Dzieki za kazda odpowiedz

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Nie ma takiej metody jak array_key_search() (IMG:style_emoticons/default/smile.gif)


Może napisz słowami co chcesz zrobic
Go to the top of the page
+Quote Post
wiiir
post
Post #3





Grupa: Zarejestrowani
Postów: 260
Pomógł: 34
Dołączył: 22.02.2010

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


nie rozumiem co masz na mysli "pole obok" i nie wiem jak działa twoja funkcja "array_key_search" bo z taka w php sie nie spotkalem Oo
Go to the top of the page
+Quote Post
zdandro
post
Post #4





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 24.03.2004

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


Sorry, ale napisalem to w pospiechu, pozniej napisalem poprawnie nazwe funkcji: array_key_exists($key, $searcharray) a nie array_key_search.


A pole "obok" to zawartosc tablicy node + 1:

                 node1 node2

$array = desc1 content1
              desc2 content2



Jak wiec majac desc1 odczytac zawartosc content1...

Ten post edytował zdandro 20.10.2010, 14:05:02
Go to the top of the page
+Quote Post
sazian
post
Post #5





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

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


  1. $_expression=(isset($_array['exp1']))?$_array['exp1']:NULL;

o to chodzi (IMG:style_emoticons/default/questionmark.gif)

Ten post edytował sazian 20.10.2010, 14:02:15
Go to the top of the page
+Quote Post
wookieb
post
Post #6





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




  1. $_array = array("exp1"=>"content1",
  2. "exp2"=>"content2" );
  3.  
  4. $keys = array_keys($_array);
  5. $key = array_search('exp1', $keys);
  6. if ($key !== false) {
  7. $key++;
  8. echo $keys[$key];
  9. }
Go to the top of the page
+Quote Post
zdandro
post
Post #7





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 24.03.2004

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


Niestety nie... Zgodnie z tym co napisales pobiera wartosc noda wyzej o 1 (nastepny wiersz):
  1. $_array = $array ("exp1"=>"content1",
  2. "exp2"=>"content2" );


Podajac za exp wartos exp1 zrwoci exp2 a nie content1 (co powinien)
Go to the top of the page
+Quote Post
wookieb
post
Post #8





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Dude my się nie rozumiemy :/
  1. $_array['exp1'];



Ten post edytował wookieb 20.10.2010, 14:21:51
Go to the top of the page
+Quote Post
zdandro
post
Post #9





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 24.03.2004

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


hehehe, teoretycznie tak:) a praktycznie nie wiem jak sie do tego zabrac - odpadaja petle (jezeli je zastosuje aplikacja nie dziala jak powinna) wiec musi to byc oparte na statycznym algorytmie
Go to the top of the page
+Quote Post
sazian
post
Post #10





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

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


ale co ci nie działa (IMG:style_emoticons/default/questionmark.gif)
pokarz jakiś konkretny niedziałający kod
Go to the top of the page
+Quote Post
zdandro
post
Post #11





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 24.03.2004

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


Dobra - sami tego chcieliscie:)
A wiec mam formularz html:
  1. <form action="Logmein.php" method="POST" enctype="content/type">
  2. <div id="logoCntcForm"><img src="/Img/Logo.png"/></div>
  3. <div id="writingLogo"></div>
  4. <div style="padding-top: 25px; padding-left:25px;"><img src="../Img/enterPass.png" /></div>
  5. <input id="inputLogin" type="password" name="Passwd" size="7" /><br />
  6. <input id="Submit_login" type="image" src="/Img/submitCntc.png" onclick="return check_login(this.form);" />
  7. </form>


Teraz skryt Logmiein.php
  1. require($_SERVER["DOCUMENT_ROOT"] . "/MainFiles/essential.inc.php");
  2.  
  3. $password = $_POST["Passwd"];
  4.  
  5. if ( !isset($password) )
  6. {
  7. include 'MainFiles/wrongPass.inc.php';
  8. }
  9. elseif ( empty($password) )
  10. {
  11. include 'MainFiles/wrongPass.inc.php';
  12. }
  13. else
  14. {
  15. include("MainFiles/essential.inc.php");
  16.  
  17. foreach( $login as $pwd => $dir )
  18. {
  19. if ( $pwd == $_POST['Passwd'] )
  20. {
  21. $res1 = 1;
  22. }
  23. else
  24. {
  25. $res = 9999; // set a value to 9999 (number of nodes in an xml file)
  26. }
  27. }
  28. if ( $res1 == 1 )
  29. {
  30. setcookie( "visit",md5( $password ), time()+1200 );
  31. header("Location: $serverName$dir");
  32. }
  33.  
  34. if ( $res == 9999 ) //
  35. {
  36. include 'MainFiles/wrongPass.inc.php';
  37. }
  38.  
  39. }


Ten plik odpowiada ze pzreniesienie uzytkownika zgodnie z podanym haslem z pliku essential.inc.php:

  1. $serverName = "http://127.0.0.1/";
  2. $login = array ('sk13'=> 'clients/sa/',
  3. 'stev16'=>'clients/ste/',
  4. 'bar24'=>'clients/bart/',
  5. 'grta294'=>'clients/gran/',
  6. 'es16'=>'clients/eas/');


I to DZIALA. Ustawia plik cookie jak nalezy z wartoscia md5(haslo).

Teraz plik index.php dla poszczegolnego katalogu:
  1. <?php
  2.  
  3. require($_SERVER["DOCUMENT_ROOT"] ."/MainFiles/essential.inc.php");
  4.  
  5. $cookie = $_COOKIE['visit'];
  6.  
  7. foreach ( $login as $getPassFile=>$passMd5 )
  8. {
  9. $md5Var = md5($getPassFile);
  10.  
  11. if ( $md5Var == $cookie )
  12. {
  13. $result = 1;
  14. }
  15. else
  16. {
  17.  
  18. }
  19. }
  20.  
  21. if ( $result == 1 )
  22. {
  23. ?>
  24.  
  25. Secret Content of the page
  26.  
  27. <?php
  28. }
  29. else
  30. echo "get lost";
  31. ?>


I teraz dziala tylko dla 1 uzytkownika (sk13) bo pozniej zgodnie z dzialaniem petli wartosc $pwd jest zmienna i raz zgadza sie ze wzorcem a raz nie i skrypt glupieje.
Mam nadzieje ze zrozumiale to napisalem ;/
Go to the top of the page
+Quote Post
sazian
post
Post #12





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

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


dziwny ten twój kod (IMG:style_emoticons/default/biggrin.gif)
Cytat(zdandro @ 20.10.2010, 15:45:56 ) *
  1. foreach( $login as $pwd => $dir )
  2. {
  3. if ( $pwd == $_POST['Passwd'] )
  4. {
  5. $res1 = 1;
  6. }
  7. else
  8. {
  9. $res = 9999; // set a value to 9999 (number of nodes in an xml file)
  10. }
  11. }
  12.  

a nie wystarczy sprawdzić tego if'em (IMG:style_emoticons/default/questionmark.gif)
  1. if(isstet($login[$_POST['Passwd']])){
  2. $res1 = 1;
  3. $dir=$login[$_POST['Passwd']];
  4. }
  5. else
  6. {
  7. $res = 9999;
  8. $dir='';
  9. }
  10.  

Go to the top of the page
+Quote Post
zdandro
post
Post #13





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 24.03.2004

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


Moze i dziwny. Na poczatku byl inny ale pozniej zaczalem go rozbudowywac/dodawac/odejmowac funkcje i to jest to co z niego pozostalo (IMG:style_emoticons/default/worriedsmiley.gif)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 24.08.2025 - 04:20