Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. Mysql + PHP: Update $valore-1 ad ogni giorno che passa
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • K
      kian User Attivo • ultima modifica di

      Wow grazie mille... non solo mi hai risposto, mi hai aperto nuovi orizzonti hihi

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • K
        kian User Attivo • ultima modifica di

        Dunque direi che c'è un grosso problema

        giorgiotave.it/forum/php-mysql/41570-chicca-d-utilizzare-cron-senza-account-di-root.html

        Ho utilizzato questo metodo per sottrarre il valore 1 da un campo in una tabella del database. Per provarlo la prima volta ho impostato l'esecuzione dello script ogni 30 secondi. Quando ho visto che funzionava ho aggiunto i dettagli e messo tutto online. A questo punto mi sono reso conto che vengono letteralmente spammati ogni 30 secondi tutti i miei script per 2 volte!

        ⭕o⭕o

        Cancellare il php, eliminare gli script, fare die(), ignore_user_abort(FALSE), non c'è modo di fermare i 2 script! Ogni 30 secondi spammano in 2 scrivendo nel database. Anche se gli blocco la connessione al database, cambiando il nome del php che effettua la connessione, questi tornano a spammare appena la ripristino. Non ditemi che devo aspettare il riavvio del server :(): (sono shared hosting).

        Come termino questo dannato script? :mmm:

        Edit: sono riuscito a killare lo script creando una riga che lo faceva bloccare. Bhè vista questa esperienza non credo possa usare i cron. E' vero che vanno avanti in eterno ma nel momento in cui ti riavviano il server devi riavviare il cron manualmente e magari intanto hai anche perso dei giorni senza saperlo. Ci sono altri modi? Che so un getdate() 🙂

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • T
          thedarkita ModSenior • ultima modifica di

          Ciao Kian,

          Quello è solo un metodo alternativo per utilizzare i cron, puoi usare servizi esterni come ti ho detto prima che si incaricano di avviare lo script in certi momenti precisi della giornata.

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • K
            kian User Attivo • ultima modifica di

            Uhm se non c'è altro metodo potresti dirmi perchè non funziona?

            File spoiler.php
            [php] 01 * * * * /usr/local/bin/php wwwmiositoit/script.php[/php]Da questo file vado a richiamare script.php. Il problema è che prima di tutto non funziona (dovrebbe eseguire lo script ogni minuto) e in spoiler.php mi da errore di sintassi vicino a "*".

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • T
              thedarkita ModSenior • ultima modifica di

              Attento che le variabili globali (esempio $_SERVER) non esistono quando lo script è lanciato da cron, se lo script usa queste variabili hai problemi...

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • K
                kian User Attivo • ultima modifica di

                No, lo script fa un UPDATE nel database e niente altro

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • T
                  thedarkita ModSenior • ultima modifica di

                  Posta l'errore completo...

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • K
                    kian User Attivo • ultima modifica di

                    Parse error: syntax error, unexpected '*' in /web/htdocs/wwwmiositoit/home/cartella/spoiler.php on line 3Generato da questo
                    [php]<?
                    */1 * * * * /usr/lib/php /home/web/wwwmiositoit/cartella/automation_script.php
                    ?>[/php]P.S. Ovviamente nel link wwwmiositoit ci sono i due punti. Scrivo cosi perchè non posso inserire link attivo... è ora che mi faccio premium.

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • T
                      thedarkita ModSenior • ultima modifica di

                      Poi postare la prima parte di codice del file spoiler.php?

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • K
                        kian User Attivo • ultima modifica di

                        Non c'è una prima parte. Questo è tutto quello che c'è in spoiler.php
                        [PHP] <?
                        */1 * * * * /usr/lib/php /home/web/wwwmiositoit/cartella/automation_script.php
                        ?> [/PHP]

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • T
                          thedarkita ModSenior • ultima modifica di

                          Vedi che quel codice dovrebbe servire per impsotare il CRON, il cron no si imposta da php, ma è una funziona che ti permette il server. Devi avere i permessi di impostare un cron sul tuo server tramite il pannello per poterlo creare, altrimenti devi usare servizi esterni

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • K
                            kian User Attivo • ultima modifica di

                            Eh ma purtroppo non ho accesso al demone (credo si chiami cosi) cron. Ma io mi domando... in tutti i cms o forum c'è la data e tutto il database si aggiorna in base alla variabile temporale. Che sistema utilizzano? Non certo il cron visto che spesso è bloccato dal provider.

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • T
                              thedarkita ModSenior • ultima modifica di

                              Fanno un controllo su ogni pagina, di quando è stato lanciato lo script l'ultima volta, sistema che utilizza più risorse del server...

                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • K
                                kian User Attivo • ultima modifica di

                                Si ma tale controllo è comunque automatico immagino. Per fare il controllo o qualcuno visualizza la pagina o automatizza la sua esecuzione. Questo automatismo è sempre cron o sbaglio?

                                0 Miglior Risposta Ringrazia Cita Rispondi

                                  1 Risposta Ultima Risposta
                                • T
                                  thedarkita ModSenior • ultima modifica di

                                  Viene fatto sulle pagine, quando un visitatore entra in una pagina del cms lo script esegue anche questo controllo

                                  0 Miglior Risposta Ringrazia Cita Rispondi

                                    1 Risposta Ultima Risposta
                                  • K
                                    kian User Attivo • ultima modifica di

                                    Quindi se non posso utilizzare cron (sto su Aruba e credo lo blocchi) o mi impegno ogni giorno a refreshare lo script o devo rinunciare. Giusto?

                                    0 Miglior Risposta Ringrazia Cita Rispondi

                                      1 Risposta Ultima Risposta
                                    • T
                                      thedarkita ModSenior • ultima modifica di

                                      Usi cron esterni... che si occupino loro di visitare una volta al giorno(o più volte) la tua pagina

                                      0 Miglior Risposta Ringrazia Cita Rispondi

                                        1 Risposta Ultima Risposta
                                      • K
                                        kian User Attivo • ultima modifica di

                                        Ne conosci qualcuno? Sai conosco cron da ieri 🙂

                                        0 Miglior Risposta Ringrazia Cita Rispondi

                                          1 Risposta Ultima Risposta
                                        • T
                                          thedarkita ModSenior • ultima modifica di

                                          Basta cercare free cron su google 😉
                                          Se ne trova parecchi...

                                          0 Miglior Risposta Ringrazia Cita Rispondi

                                            1 Risposta Ultima Risposta
                                          • K
                                            kian User Attivo • ultima modifica di

                                            Ok, ho trovato un servizio che pare essere molto valido. Adesso vorrei tornare un attimo sullo script perchè ho un problema. Farò degli esempi per cercare di farmi capire.

                                            Tabella ---> scadenze_clienti
                                            --Nome--Durata--
                                            Cliente1----90-----
                                            Cliente2----120----
                                            Cliente2----360----
                                            [php]$result = mysql_query("SELECT * FROM ".PREFIX."scadenze_clienti")
                                            or die(mysql_error());
                                            $row = mysql_fetch_array( $result );

                                            $days = $row['durata'];
                                            $cron = '1';
                                            $nuova_durata = $days - $cron;

                                            mysql_query("UPDATE ".PREFIX."scadenze_clienti SET durata='$nuova_durata'")
                                            or die(mysql_error());[/php]Il punto è che in questo modo tutti i valori nel campo Durata si equivalgono quindi 90, 120, 360 diventano 90, 90, 90. E' logico pensare di mettere nell'UPDATE un WHERE ma non so quale argomento porre.

                                            0 Miglior Risposta Ringrazia Cita Rispondi

                                              1 Risposta Ultima Risposta
                                            Caricamento altri post
                                            Rispondi
                                            • Topic risposta
                                            Effettua l'accesso per rispondere
                                            • Da Vecchi a Nuovi
                                            • Da Nuovi a Vecchi
                                            • Più Voti