Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> php-function-if-trouble
Darek1985
post
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 1.04.2006

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


Cześc,słuchajcie mam do Was duża prośbę,otóż od paru godzin piszę kod(zgadujący czy użytkownik to dziewczyna czy chłopak (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) potem ma zapisywać tą osobę do pliku textowego.Niestety coś tu nie działa i zabardzo nie wiem juz się strasznie pogubiłem.Oto kod funkcji.
  1. <?php
  2. function zgaduj($imie){
  3.  $ostatnia=substr($imie,strlen($imie)-1,1);
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  if ($ostatnia=='a'){
  10.  $kobiety=$kobiety++;
  11.  echo '<p style="position:absolute;top:100px;left:100px;color:blue;">Jestes kobieta</p>';
  12.  return $kobiety;
  13. }  
  14.  else{
  15.  $mezczyzni=$mezczyzni++;
  16. echo '<p style="position:absolute;top:100px;left:100px;color:blue;">Jestes mezczyzna</p>';
  17.  return $mezczyzni;
  18.  
  19. }
  20. if (file_exists("C:phpzgadujimie.txt")){
  21.  
  22. $plik=fopen("C:phpzgadujimie.txt","a+b");
  23.  echo '<p style="color:red;position:absolute;top:100px;right:100px;">Imie zostało dopisane<p>';
  24. $wyjscie=$imie."/n";
  25. fputs($plik,$wyjscie);
  26. fclose($plik);
  27. }
  28.  else{
  29. $plik=fopen("C:phpzgadujimie.txt","a+b");
  30. if (!$plik){
  31. echo '<p>cos tu nie tak z tym plikiem</p>';
  32.  }
  33.  else{echo '<p style="color:red;position:absolute;top:100px;right:100px;">Imie zostało dopisane<p>';
  34.  $wyjscie=$imie."/n";
  35.  fputs($plik,$wyjscie);
  36.  fclose($plik);
  37. }  
  38.  }
  39. ?>

Wiem że to pewnie jakaś drobnostka ale nie chce mi yworzyćpliku textowego i za cholere nie wiem czemu.Z góry dzięki za odpowiez.
Go to the top of the page
+Quote Post
Ludvik
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 698
Pomógł: 3
Dołączył: 28.03.2004
Skąd: Wrocław

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


Plik nie jest otwierany, bo w pierwszym wyrażeniu warunkowym zwracana jest wartość z funkcji. A poza tym dopisywanie do pliku przekombinowałeś. Przy trybie dopisywania plik jest tworzony automatycznie, więc nie musisz pisać tych kolejnych if-ów, które z resztą są identyczne...

Ten post edytował Ludvik 24.06.2006, 22:46:46
Go to the top of the page
+Quote Post
Darek1985
post
Post #3





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 1.04.2006

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


Dobra,chcę mięc pewnośc a dręczy mnie jeszcze pare tametów.Otóż,powiedzmy że wpisane imię to rzeczywiście dziewczyna czy jeżeli funkcja zwróci result to nie jest wykonywana dalej?.Tzn. czy nie utworzy pliku do zapisu.Jeżeli tak tojak powinien wyglądać kod aby działałto prawidłowo.Z góry dzięki za odpowiedzi.
Go to the top of the page
+Quote Post
Ludvik
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 698
Pomógł: 3
Dołączył: 28.03.2004
Skąd: Wrocław

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


Jeżeli funkcja zwraca wartość, to logiczne, że dalszy kod nie zostanie wykonany. Niektóre edytory wyrzucają ostrzeżenie: unreachable code.

Pisane z głowy:
  1. <?php
  2.  
  3. function zgaduj($imie, $mezczyzni, $kobiety){
  4. if ($imie{strlen($imie) - 1} == 'a') {
  5. $mezczyzna = false;
  6. $kobiety++;
  7. echo '<p style="position:absolute;top:100px;left:100px;color:blue;">' .
  8.  'Jestes kobieta</p>';
  9. } else {
  10. $mezczyzna = true;
  11. $mezczyzni++;
  12. echo '<p style="position:absolute;top:100px;left:100px;color:blue;">' .
  13.  'Jestes mezczyzna</p>';
  14. }
  15.  
  16. $plik=fopen('C:phpzgadujimie.txt','a+b');
  17.  
  18. if (!$plik) {
  19. echo '<p>Błąd przy próbie otwarcia pliku.</p>';
  20. return $mezczyzna ? $mezczyzni : $kobiety;
  21. }
  22.  
  23. echo '<p style="color:red;position:absolute;top:100px;right:100px;">' .
  24.  'Imie zostało dopisane<p>';
  25.  
  26. $wyjscie = $imie . "/n";
  27. fputs($plik,$wyjscie);
  28. fclose($plik);
  29.  
  30. return $mezczyzna ? $mezczyzni : $kobiety;
  31. }
  32.  
  33. ?>


Zmieniłem interfejs funkcji, bo nie miałeś zmiennych $mezczyzni i $kobiety.

Ten post edytował Ludvik 25.06.2006, 10:54:17
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: 23.08.2025 - 05:45