Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Petla foreach i warunek if
Forum PHP.pl > Forum > Przedszkole
tomi1985
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
nospor
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?
Michael2318
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. ?>
nospor
ps: oczywiscie chodzi o znak konca linii w $search. Powinno byc trim($search)
tomi1985
ehhhh przepraszam... mój blad...

a ja caly czas sadzilem ze jest cos nie tak z $id... a tu wystarczylo oczyscic tablice ;/
nospor
Na przyszłośc używaj VAR_DUMP to nie będziesz miał takich problemów
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.