Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
[php] kod poprawny niby - ale na serwerze nie tworzy plików - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych)
+--- Wątek: [php] kod poprawny niby - ale na serwerze nie tworzy plików (/thread-php-kod-poprawny-niby-ale-na-serwerze-nie-tworzy-plikow)



[php] kod poprawny niby - ale na serwerze nie tworzy plików - eremen - 23-02-2012

Witam,

jak otwieram sondę za 1. razem gdy nie ma jeszcze pliku kody.txt (w tym pliku mam hasła potrzebne do głosowania - tworzyć się ma właśnie tylko za pierwszym otworzeniem) nie tworzy się on od razu na serwerze, gdy wrzucę jeszcze raz plik sonda.php(tu mam cały kod) na serwer, plik z kodami tworzy się dopiero wtedy.. pliki z wynikami głosowań również się nie tworzą ;O

Wie ktoś może czemu? A jeśli będzie potrzebne mogę podać kod bez problemu Smile

albo dodam go od razu...
Kod:
<?php
//SPRAWDZANIE CZY PLIK ISTNIEJE
$plik = "kody.txt";
    
if (!file_exists($plik)) {

    for ($s = 0; $s < 11; $s++){
        srand((double)microtime()*1000000);
        $kod=md5(uniqid(rand()));
        
        if (strlen($kod)>=5) {
            $txt = substr($kod,0,5);
        }
        else{
            $txt = $kod;
        }
        $kody[] = $txt; // tutaj zapisujemy okrojony kod do tablicy
    }
        
    file_put_contents("kody.txt", serialize($kody));
}
else{
    $kody = unserialize(file_get_contents('kody.txt'));
}
//---------------------------------------------------------------------
    
    
if (isset($_POST['haslo']) && $_POST['glosuj']) {
    
    if (in_array($_POST['haslo'], $kody)){
        
        //ZAPISYWANIE WYNIKOW DO PLIKOW
        for($i = 1; $i < 11; $i++){
            $name = 'auto'.$i;    
            
            if ($_POST[$name] != ''){
                $filename = $_POST[$name].'.txt';
                $votes = 0;
                
                if(file_exists($filename)){
                    $votes = file_get_contents($filename);
                    $votes++;
                }
                file_put_contents($filename, $votes);
            }
        }
        $message = "dziękujemy za oddanie głosu";
    }
    else {
    $message = "wpisałeś niepoprawne hasło";
    }
}
//------------------------------------------------------------------
    
    /*POKAZUJE SONDE*/
        echo '<p><map glosuj="glosuj">
        <form action="" method="post">
        <table align="center" style="text-align:center;">
        <tr>
            <td>1.<img src="./zdjecia/auto1.jpg" alt="" /></td>
            <td>2.<img src="./zdjecia/auto2.jpg" alt="" /></td>
            <td>3.<img src="./zdjecia/auto3.jpg" alt="" /></td>
            <td>4.<img src="./zdjecia/auto4.jpg" alt="" /></td>
            <td>5.<img src="./zdjecia/auto5.jpg" alt="" /></td>
        </tr>
        <tr>
            <td>6.<img src="./zdjecia/auto6.jpg" alt="" /></td>
            <td>7.<img src="./zdjecia/auto7.jpg" alt="" /></td>
            <td>8.<img src="./zdjecia/auto8.jpg" alt="" /></td>
            <td>9.<img src="./zdjecia/auto9.jpg" alt="" /></td>
            <td>10.<img src="./zdjecia/auto10.jpg" alt="" /></td>
        </tr>
        </table>
            
        <div>    
            <input type="radio" name="auto" value="auto1" checked="checked"/> nr 1.  
            <input type="radio" name="auto" value="auto2" /> nr 2.  
            <input type="radio" name="auto" value="auto3" /> nr 3.  
            <input type="radio" name="auto" value="auto4" /> nr 4.  
            <input type="radio" name="auto" value="auto5" /> nr 5.  
            <input type="radio" name="auto" value="auto6" /> nr 6.  
            <input type="radio" name="auto" value="auto7" /> nr 7.  
            <input type="radio" name="auto" value="auto8" /> nr 8.  
            <input type="radio" name="auto" value="auto9" /> nr 9.  
            <input type="radio" name="auto" value="auto10" /> nr 10.
        </div>
        
        <p></p><div><br/> <input type="text" name="haslo"/><input type="submit" name="glosuj" value="głosuj" /><br/>';echo $message;'<br/></form></map></p>';
?>



RE: [php] kod poprawny niby - ale na serwerze nie tworzy plików - Pedro84 - 23-02-2012

Dobra, bo nie łapię. W którym momencie dokładnie się tworzy plik?


RE: [php] kod poprawny niby - ale na serwerze nie tworzy plików - jakub1969 - 23-02-2012

yyyyyyyyy?? tworzy u mnie tworzy


RE: [php] kod poprawny niby - ale na serwerze nie tworzy plików - eremen - 23-02-2012

(23-02-2012, 15:46)Pedro84 napisał(a): Dobra, bo nie łapię. W którym momencie dokładnie się tworzy plik?
otwieram stronę sonda.php (includowane przez idx.php) - nic (powinien na serwerze utworzyc się plik kody.txt) ->
wrzucam drugi raz plik sonda.php na serwer - tworzy się plik kody.txt / pliki odpowiadające za zapisywanie głosów w ogóle się nie tworzą, przynajmniej u mnie...

przez to że tak dziwnie się tworzy ten plik myślę że nie spełnia swojego zadania, chociaż mam dostęp do głosowania tylko po wpisaniu poprawnego kodu i wyświetla info 'dziękuję za wysłanie głosu' (w if(dobre hasło)),

pomijając dziwne tworzenie się pliku kody.txt, wyniki głosowania nie zapisują się do plików - w ogóle się nie tworzą. Próbowałem na utworzonych ręcznie plikach w serwerze - wyniki nie zapisywały się.



(23-02-2012, 19:11)jakub1969 napisał(a): yyyyyyyyy?? tworzy u mnie tworzy
czy to znaczy że mam zły program do FTP albo złe kodowanie (mam wszędzie 777, na katalogu też)?



RE: [php] kod poprawny niby - ale na serwerze nie tworzy plików - Pedro84 - 23-02-2012

A jakie masz CHMODy katalogu, w którym ten pli kma być utworzony? Stawiam na to, bo kod wygląda dobrze.


RE: [php] kod poprawny niby - ale na serwerze nie tworzy plików - eremen - 23-02-2012

(23-02-2012, 21:43)Pedro84 napisał(a): A jakie masz CHMODy katalogu, w którym ten pli kma być utworzony? Stawiam na to, bo kod wygląda dobrze.

777, kiedyś zmieniałem na takie bo coś mi nie działało

Ok, już wiem że jeśli odświeżam zawartość katalogu na serwerze to plik kody.txt się pojawia.. ale co zrobić żeby pojawiały się pliki w których będą zapisywane wyniki głosowań (kod raczej poprawny, a odświeżanie nie pomaga)?


RE: [php] kod poprawny niby - ale na serwerze nie tworzy plików - Pedro84 - 24-02-2012

Skoro masz CHMODy poprawne, a kod wygląda na OK, to raczej plik się tworzy.

Spróbuj tak, utwórz sobie inny plik, w którym będziesz sprawdzał ifem czy ten plik z kodami istnieje, wywołuj stronę gdzie się generują kody, potem ten plik do sprawdzenia.


RE: [php] kod poprawny niby - ale na serwerze nie tworzy plików - eremen - 24-02-2012

(24-02-2012, 03:14)Pedro84 napisał(a): Skoro masz CHMODy poprawne, a kod wygląda na OK, to raczej plik się tworzy.

Spróbuj tak, utwórz sobie inny plik, w którym będziesz sprawdzał ifem czy ten plik z kodami istnieje, wywołuj stronę gdzie się generują kody, potem ten plik do sprawdzenia.

jednak w kodzie było coś źle zrobione teraz mam ok Wink

W kolejnym poście można zobaczyć przerobiony kod i nowe zapytanie dotyczące usuwania string'u z tablicy i zastąpienia go nowym Smile