Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Petla foreach i warunek if
tomi1985
post
Post #1





Grupa: Zarejestrowani
Postów: 192
Pomógł: 12
Dołączył: 23.09.2010
Skąd: Warszawa

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


Witam Serdecznie,

mam pewien problem z warunkiem... a mianowicie:

Wysyłam formularzem id ( jakaś cyfra )

poczym pobieram wszystkie dane z pliku info.txt do tablicy gdzie są zapisywane inne dane:

Kod zapisywania do pliku:

Kod
$dane = "$id\r\n";
       $filehandle = fopen($filename, 'ab');
       if(fwrite($filehandle, $dane,
          strlen($dane)) == FALSE){
          echo "Nie można zapisać danych do pliku $filename.<br />";
       }
       else{
          $text = file_get_contents($filename);
       }
       fclose($filehandle);


i teraz mój problem....

Kiedy już pobiore dane z pliku to wywołuje je petlą foreach i sprawdzam czy dana wartość już istnieje w pliku z tą którą użytkownik wysyła formularzem...
Lecz warunek if mi nie działa a nie mam pojęcia dlaczego... ;/

zrobiłem sobie wywołanie echo $block, $search ( tablica danych pobrana z pliku txt ) no i id ktore user wysyla formularzem... i co najdziwniesze... wszystko wyswietla...

np. w pliku mam wartosc 5 i user wysle formularzem rowniez 5 ... to i tak warunek nie zostanie spełniony... ;/

Kod
$id = $_POST['id'];
          

      
       $filename = "info.txt";
      
       $block =0;
       $plik = file($filename); // Funkcja file odczytuje plik i zapisuje go do tablicy
       foreach ($plik as $search){
           echo $block." ---- ".$search." ----- ".$id."<br />";
           if($search == strip_tags(trim($id))){
               $block++;
           }
       }


proszę o pomoc
Go to the top of the page
+Quote Post
nospor
post
Post #2





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




Skoro nie jest spelniony, znaczy ze sie nie rowna....
if($search == strip_tags(trim($id))){

var_dump($search);
$zm = strip_tags(trim($id));
var_dump($zm);

Cieżko to napisac i sprawdzic?
Go to the top of the page
+Quote Post
Michael2318
post
Post #3





Grupa: Zarejestrowani
Postów: 651
Pomógł: 116
Dołączył: 3.06.2012
Skąd: Lędziny

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


A jak sprawdzamy czy dany element występuje w tablicy? in_array przykład z manuala:
  1. <?php
  2. $os = array("Mac", "NT", "Irix", "Linux");
  3. if (in_array("Irix", $os)) {
  4. echo "Got Irix";
  5. }
  6. if (in_array("mac", $os)) {
  7. echo "Got mac";
  8. }
  9. ?>
Go to the top of the page
+Quote Post
nospor
post
Post #4





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




ps: oczywiscie chodzi o znak konca linii w $search. Powinno byc trim($search)
Go to the top of the page
+Quote Post
tomi1985
post
Post #5





Grupa: Zarejestrowani
Postów: 192
Pomógł: 12
Dołączył: 23.09.2010
Skąd: Warszawa

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


ehhhh przepraszam... mój blad...

a ja caly czas sadzilem ze jest cos nie tak z $id... a tu wystarczylo oczyscic tablice ;/
Go to the top of the page
+Quote Post
nospor
post
Post #6





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




Na przyszłośc używaj VAR_DUMP to nie będziesz miał takich problemów
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: 7.10.2025 - 15:32