Pagina 1 di 2 12 UltimoUltimo
Visualizzazione risultati 1 fino 30 di 31
Like Tree15Likes

Discussione: contaclick jquery php

  1. #1
    noncecapisco non è connesso Utente Blog
    Data registrazione
    16-09-2023
    Messaggi
    387

    Smile contaclick jquery php

    buon giorno... grazie al signor "graphOGLrisorse ed alemoppo" sul mio sito, sono riuscito a mettere dei

    contaclick, che si generano in automatico mentre i file vengono caricati sul sito.

    ho notato pero', che essendo i contaclick dentro degli iframi , se nel sito, ci sono una decina di

    contaclick collegati ai file caricati, il sito ci mette tanto a caricare. e delle volte gli iframi non si

    caricano. voi direte allora?

    allora ho trovato per fortuna uno script in jquery e php che devo dire la verita' funziona a meraviglia,

    ce' solo un problema:

    con gli iframi dei contatori nei file, gli utenti possono caricare da soli i file, invece con questo

    script lo devo fare io.

    il motivo e' che ogni volta devo cambiare i nomi, es: (contaclick, contatore.dat, contatore.php)

    alla fine di questo discorso, volevo sapere se qualcuno mi puo' indicare una funzione, oppure una

    guida, che mi permetta di capire come farlo in automatico, facendogli generare ogni volta i nomi citati

    sopra in automatico. grazie allego i codici. grazie


    Codice:
    
     <script src="http://code.jquery.com/jquery-latest.min.js"></script>
        <script type="text/javascript">
          $.ajaxSetup({cache:false});
          $(function(){
            $("#contaclick").load("contatore.dat"); // visualizzo il contaclick sulla pagina in base al valore letto dal file dati
            $("#imgclick").click(function(){ // al click sull'immagine
              $("#contaclick").load("contatore.php",function(responseTxt){ // aggiorno il file dati e visualizzo il valore restituito
                if (isNaN(responseTxt)) $(this).html("..."); // se ci sono errori nel valore restituito, visualizzo un testo alternativo 
              });
            });
          })
        </script>
    Codice HTML:
    <body>
        <img id="imgclick" src="immagine.jpg" title="Se ti piace clicca su questa immagine" alt="immagine cliccabile">
        <p>Questa immagine è stata cliccata <span id="contaclick">...</span> volte.</p>
      </body>
    Codice PHP:

    <?php
    // il file dati
    $filedati = 'contatore.dat';
    // se non esiste, creo il file dati automaticamente
    if (!file_exists($filedati)) {
    $aprifile = fopen($filedati,'w');
    fwrite($aprifile,'0');
    }
    // leggo e aggiorno il valore sul file dati
    $aprifile = fopen($filedati,'r');
    $conta = fgets($aprifile);
    $hostvisit = $HTTP_SERVER_VARS["HTTP_HOST"];
    if(!
    strstr($HTTP_SERVER_VARS['HTTP_REFERER'], $hostvisit)) {
    $conta++;
    $aprifile = fopen($filedati,'w');
    fwrite($aprifile,$conta);
    }
    // restituisco il valore aggiornato
    echo $conta;
    ?>

    in pratica, volevo sapere se e' possibile far generare nomi casuali in queste 2 funzioni:

    Codice:
     $.ajaxSetup({cache:false});
          $(function(){
            $("#contaclick").load("contatore.dat"); //   contaclick , contatore.dat
    -----------------------------------------------------------------------------------------
     
    $("#imgclick").click(function(){ // al click sull'immagine
              $("#contaclick").load("contatore.php")  //      contaclick, contatore.php
    Ultima modifica di dreadnaut : 22-05-2024 alle ore 01.20.27

  2. #2
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    4,285

    Predefinito

    ho notato pero', che essendo i contaclick dentro degli iframi , se nel sito, ci sono una decina di

    contaclick collegati ai file caricati, il sito ci mette tanto a caricare. e delle volte gli iframi non si

    caricano. voi direte allora
    Salve,
    non sono i cotatori negli iframe a rendere più pesante il sito, ma tutte le immagini dei caroselli che vengono caricate in contemporanea. I contatori neigli iframe vengono semplicemnte caricati per ultimi dopo il caricamento delle immagini.

    I problema è distinguibile in 2 passaggi:
    1 - Controllare la dimensione del file immagine (KB/MB) a monte, ovvero, quando un utente lo carica. Questo per ipedire che gli utenti possano caricare file che siano troppo pesanti. Questa parte del problema glie la avevo già fatto notare in passato.
    2 - Fare in modo che le immagini caricate siano solo quelle realmente visibili al momento per lutente, anzichè tutte insieme. Ovvero, che le immgini vengono caricate di volta in volta quando serve.

    Ad esempio, il singolo carosello con l 6 immagini che vedo al momento, ha un peso tratutte le immagini, di 3.92 MB. Quindi se ogni carosello ha un peso variabile che può arrvare a 4 MB o anche di più, è chjairo che tra tutti, ci saranno svariate decine di mega e quidni il sito ci mettereà del tampo per comletare il caricamento.

    Ha gia fatto tutto il lavoro con il database, non vale la pena rifarlo per implementare il codice js che salva su file. Volendo si può far salvare tutto sulllo stesso file, ma ripeto, non conviene. Alternativa agli iframe è con js e Ajax, come ha cercato di spiegarle alemoppo. Non cmbierebbe però molto poichè è il peso complessivo delle immagini il problema di base dei tempi di caricamento.

    Quindi direi di riprendere intanto il discorso del controllo sul peso, che aveva accantonato (questo).

    Cordiali saluti.
    Ultima modifica di GraphOGLRisorse : 20-05-2024 alle ore 14.29.49
    noncecapisco likes this.

  3. #3
    noncecapisco non è connesso Utente Blog
    Data registrazione
    16-09-2023
    Messaggi
    387

    Predefinito

    buon giorno signore....grazie sempre per gli aiuti....si...sicuramente il suo discorso e' giusto (del peso).

    allora come si spiega, che delle volte, gli iframi non si caricano e vengono i quadratini con errore di caricament0?

  4. #4
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    4,285

    Predefinito

    Citazione Originalmente inviato da noncecapisco Visualizza messaggio
    allora come si spiega, che delle volte, gli iframi non si caricano e vengono i quadratini con errore di caricament0?
    Il blocco può essere dovuto al timeout. Se la pagina ha risorse che la rendono troppo esante e superano il tempo di timeout, le ultime richieste vengono bloccate dal server e quindi la pagina non finisce di caricare le riosrse. La velocità di caricmanto inoltre, viene infulenzata anche dalle prestazioni della connessione che si usa. Quindi chi ne risentirà maggiormente, saranno gli utenti con connessioni lente.

    Ha presente ad sempio le pagine di ricerca delle immagini nei motori di ricerca?
    Non ha mai notato che le immagini di ateprima sono delle copie più piccole e che vengono carciate un po' alla volta?

    Se non avessero tali ottiminzzazioni, quelle pagine presenterebbero il suo stesso problema e sarebbero ingestibili se tutte le immagini di una ricerca.

    Per rendere le immagini meo pesanti, o si fa il controllo quando sono caricate per impedire il caricamento di quelle sono troppo pesanti, oppure, l'alternativa sarebbe che quando un'imagine viene caricata, la rispettiva copia che sarà salvata sul sito venga ridimensionata e poi salvata, così da avere un peso limitato indipendentemente dalle diemnsioni originali.

    Con il controllo sulla dimensione immaginie si obbliga l'utente a limitarne il peso ed è più semplice da implementare. Col metodo alternativo, l'utente può caricare quello che vuole ma l'immagine sul sito avrà almeno una delle 2 dimensioni (alrtezza o largheza) fisse secondo un valore preimpostato. Questo per me è migliore, ma è meno semplice da implementare.

    Io comunque per quanto ho potuto vedere, non ho mai avuto il timeout.

    Oggi mi sta facendo scrivere i poemi.

    Cordiali saluti.
    noncecapisco likes this.

  5. #5
    noncecapisco non è connesso Utente Blog
    Data registrazione
    16-09-2023
    Messaggi
    387

    Predefinito

    vabbe' va....gli do ragione giusto perche' e' un fenomenoooooooo..ah ah...

    comunque per quanto riguarda quello che mi ha detto sulla dimensione dei file da controllare ...


    ci abbiamo provato..,,ma il tempo di caricamento e' infinito, e non funziona,vengono caricate sul sito normalmente.

    diamo a cesare quello che e' di cesare...ah ah.

  6. #6
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    4,285

    Predefinito

    Se eseguito correttamente il controllo della dimensione del file funziona. Ho capito, rimandiamolo ancora questo punto, che facciamo prima.

    Passaimo allora alla gestione del carciamento ottimizzato delle immagini. (Per far prima, ho fatto riferimento a questo)

    Modifichi la prte del clico del carosello così:
    Codice PHP:
    <div id="listing">
    <?php
    if(in_array($estensione, $array_estensioni_immagini))
    {
    include
    " mycarousel.php";
    }
    ?>
    </div>
    Il tag img così:
    Codice PHP:
    <?php echo"<img class="lazy" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-src='".$row['file']."' style='width:100%;margin-top:10px;'>";?>
    Attenzione che ogni immagone abbia in $row[] sia quello giusto (file1, file2,...).

    Poi aggiunga questo alla fine della pagina principale, prima del tag di chiusura </body>
    Codice:
    <script>
    regListener('load', setLazy);
    regListener('load', lazyLoad);
    regListener('scroll', lazyLoad);
    
    var lazy = [];
    
    function setLazy(){
        lazy = document.getElementsByClassName('lazy');
        console.log('Found ' + lazy.length + ' lazy images');
    } 
    function lazyLoad(){
        for(var i=0; i<lazy.length; i++){
            if(isInViewport(lazy[i])){
                if (lazy[i].getAttribute('data-src')){
                    lazy[i].src = lazy[i].getAttribute('data-src');
                    lazy[i].removeAttribute('data-src');
                }
            }
        }
        
        clearLazy();
    }
    function clearLazy(){
        lazy = Array.prototype.filter.call(lazy, function(l){ return l.getAttribute('data-src');});
    }
    function isInViewport(el){
        var rect = el.getBoundingClientRect();
        
        return (
            rect.bottom >= 0 && 
            rect.right >= 0 && 
            rect.top <= (window.innerHeight || document.documentElement.clientHeight) && 
            rect.left <= (window.innerWidth || document.documentElement.clientWidth)
         );
    }
    function regListener(event, func) {
        if (window.addEventListener) {
            window.addEventListener(event, func)
        } else {
            window.attachEvent('on' + event, func)
        }
    }
    </script>
    Cordiali saluti.
    Ultima modifica di GraphOGLRisorse : 20-05-2024 alle ore 19.48.30 Motivo: corretto tag img
    noncecapisco likes this.

  7. #7
    noncecapisco non è connesso Utente Blog
    Data registrazione
    16-09-2023
    Messaggi
    387

    Predefinito

    non ho parole..


    ho fatto tutto..pero' ..me sache ho sbagliato qualcosa...

    questo l'ho dovuto mettere cosi'..perche' e' dentro il codice php


    Codice PHP:
    echo'<div id="listing">';
    include
    "carosello.php";
    echo
    '</div>';


    https://noncecapisco.altervista.org/animali/Animali.php
    Ultima modifica di noncecapisco : 20-05-2024 alle ore 19.33.08

  8. #8
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    4,285

    Predefinito

    Si ho visto. A me risulta che funzioni bene.

    Preciso che per l'immagine (il cuoricino) dei contatori si può fare a meno di implementarlo, poichè l'immagine pesa molto poco (solo 2.37 KB). Quindi anche se caricata più volte nella pagina, il suo peso non influirà in modo rilevante.

    Ho aggiornato la riga sul tag img (qui). Ho rimosso ( <div class="item"> ..... </div> ) che non serve e poi si confonde con la classe CSS omonima del carosello. Mi scuso, errore mio.

    Cordiali saluti.
    Ultima modifica di GraphOGLRisorse : 20-05-2024 alle ore 20.02.43
    noncecapisco likes this.

  9. #9
    noncecapisco non è connesso Utente Blog
    Data registrazione
    16-09-2023
    Messaggi
    387

    Predefinito

    ci mancherebbe.... dopo tutto quello che fa per me, si scusa anche...

    senta..io mi scuso con lei ,dopo tutto il lavoro che ha fatto ma, con questo codice il sito non mi funziona bene...

    il secondo carosello rimaneva grande, e tutto azzurro e poi dava problemi ai video..l'ho rimesso come prima, e'


    perfetto tanto ora ho solo 3 foto..mi perdoni...
    Ultima modifica di noncecapisco : 20-05-2024 alle ore 20.42.11

  10. #10
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    4,285

    Predefinito

    Citazione Originalmente inviato da noncecapisco Visualizza messaggio
    senta..non so se ha notato il secondo carosello..non si vede bene
    Io lo vedevo bene prima e lo vedo bene ora. Forse è un problema di cache del browser.

    Citazione Originalmente inviato da noncecapisco Visualizza messaggio
    poi non so, se sia normale, ma i caroselli si

    aprono grandi e poi diventano piu' piccoli.
    POtrebbe dipendere dal metodo implementato (detto lazy load). Non ne sono però sicuro, visto che poi ha ripristinato la versione del carosello con le ombreggiature ai lati e niente angli arrotondati nelle immagini.

    Citazione Originalmente inviato da noncecapisco Visualizza messaggio
    e un'ultima cosa...tutto questo codice che mi ha dato a cosa serve?..solo per capire..grazie
    Dopo tutta la spiegazione che ho fatto, non è chiaro?

    Serve ad evitare che tutte le immagini presenti nella stessa pagina vengano caricate tutte insieme. Ogni immagine viene caricata dal browser solo se visibile nello schermo, quindi quando serve realmente. Ciò riduce i tempi sul caricamento della pagina. Spero le sia chiaro ora lo scopo di quel codice.

    Cordiali saluti.
    Ultima modifica di GraphOGLRisorse : 20-05-2024 alle ore 20.41.11
    noncecapisco likes this.

  11. #11
    noncecapisco non è connesso Utente Blog
    Data registrazione
    16-09-2023
    Messaggi
    387

    Predefinito

    signor graph.....la prego mi aiuta a fare una cosa... e' un mese che ci provo ma non ci riesco..

    lo so sono testardo..ma dato che ho visto che questo codice semplice funziona alla grande...si ricorda quando ha

    scritto graph nella pagina del form ajax?

    mi dice come devo fare, per far intercettare il pulsante contaclick in questo codice?

    questo e' il form....e in alto al broswer ce' scritto l'id del file..in mysql e' corretto..
    Codice PHP:

    <form name='ajax'><input type='hidden' name='contaclick' id='contaclick' value='".$row['id']."'><input type='image' name ='contaclick' src='download.png'style='margin-left:100px;margin-bottom:10px;'> '".$row['cuoricinofile']."'</form>
    e questo e' ilcodice ajax...

    [code]

    <script type="text/javascript">
    $(document).ready(function() {

    //al click sul bottone del form
    $("#contaclick").click(function(){

    //associo variabili
    var contaclick = $("#contaclick").val();


    //chiamata ajax
    $.ajax({

    //imposto il tipo di invio dati (GET O POST)
    type: "POST",

    //Dove devo inviare i dati recuperati dal form?
    url: "upload-click-video-mp4.php",

    //Quali dati devo inviare?
    data: "contaclick=" + contaclick ,
    dataType: "php",


    });
    });
    </script>

    grazie..

  12. #12
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    4,285

    Predefinito

    Sta usando troppi nomi id e variabili omonimi. Certo che poi alla fine si fa confusione. Per evitare confusione, ho usato contaclickajax. (non deve modificare nome ed id nell'input nascosto)

    Così pssa il valore dell'input con POST:
    Codice PHP:
    //al click sul bottone del form
    $("#contaclick").click(function(){
    $.
    ajax({
    type: 'POST',
    url: 'upload-click-video-mp4.php',
    data: {
    'contaclickajax': $(this).val()
    },
    success: function(data) {
    console.log("success");
    }
    });
    })
    Poi in upload-click-video-mp4.php lo recupera con:
    Codice PHP:
    $contaclickajax = $_POST['contaclickajax'];
    Comunque sia che gestisce i contatori, il problema nelle prestazioni del carimaneto della pagina, resta il peso complessivo di tutte le immagini. Se sono molte e pasanti e le si carica conteporaneamente, daranno lentezza nel caricamento e se poi le richieste sono molte, si può finere anche nel timeout. Senza contare poi il consumo della banda mensile, la quale è limitata a 30 GB. Se ogni utente consuma qualche decina di MB con le immagini per pagina, la banda finirà presto. A banda finita, il sito resta praticamente a dormire (ovvero non sarà visibile) fino al mese successivo col reset della banda.

    Cordiali saluti.
    Ultima modifica di GraphOGLRisorse : 21-05-2024 alle ore 01.26.02
    noncecapisco likes this.

  13. #13
    noncecapisco non è connesso Utente Blog
    Data registrazione
    16-09-2023
    Messaggi
    387

    Predefinito

    buon giorno signore....grazie per i consigli....per ora sul sito ho ancora il 63 % di banda mensile..lo vedo solo

    io...

    per quanto riguarda l'aiuto sul codice...ci ho provato ma, non mi intercetta il pulsante del cuoricino...mi parte il

    caricamento della pagina e in mysql il contatore non aumenta.

    se gentilmente mi dice come sistemare il tutto le sarei grato..


    Codice PHP:


    <form name='ajax'><input type='hidden' name='contaclick' id='contaclick' value='".$row['id']."'><input type='image' name ='contaclick' src='download.png'style='margin-left:100px;margin-bottom:10px;'> '".$row['cuoricinofile']."'</form>

    Codice PHP:


    //al click sul bottone del form
    $("#contaclick").click(function(){
    $.
    ajax({
    type: 'POST',
    url: 'upload-click-video-mp4.php',
    data: {
    'contaclickajax': $(this).val()
    },
    success: function(data) {
    console.log("success");
    }
    });
    })
    in mysql......

    Codice PHP:
    <?php


    $db_host
    = 'localhost';
    $db_user = 'noncecapisco';
    $db_pass = '';
    $db_name = 'my_noncecapisco';

    $cn = new mysqli($db_host, $db_user, $db_pass, $db_name);

    if (
    $cn->connect_errno) {
    echo
    "Connessione fallita: ". $cn->connect_error . ".";
    exit();
    }
    $contaclickajax = $_POST["contaclickajax"];

    if(isset(
    "$contaclickajax"))
    {

    $sql = 'UPDATE sito_animali_carosello SET cuoricinofile = cuoricinofile + 1 WHERE id = '$contaclickajax;

    if (!
    $cn->query($sql))
    {
    echo
    "Errore della query: " . $cn->error . ".";
    }
    }

    header("location:https://noncecapisco.altervista.org/animali/prova.php);
    ?>
    poi non ho capito, mi perdoni...ma il codice da lei fornito e' sempre con "<script type="text/javascript">...il suo codice..</script> giusto?

    ma lo devo mettere nella riga del form, o alla fine della pagina prima di </body>?

    se vuole vedere la pagina di prova....il numero 16 l'ho messo io...

    https://noncecapisco.altervista.org/animali/prova.php


    grazie e buona giornata.
    Ultima modifica di noncecapisco : 21-05-2024 alle ore 07.30.08

  14. #14
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    4,285

    Predefinito

    Io non vedo però nella pagina il form.
    Codice PHP:
    <form name='ajax'><input type='hidden' name='contaclick' id='contaclick' value='".$row['id']."'><input type='image' name ='contaclick' src='download.png'style='margin-left:100px;margin-bottom:10px;'> '".$row['cuoricinofile']."'</form>
    Questa funzione $("#contaclick").click(function(){} che esegue ajax al suo interno, fa riferimento all'input dentro il form. Quindi senza il form ed input non funziona.

    Il form ed il relativo codice js/ajax devono stare nella stessa pagina. Prima il form e dopo codice js.

    Cordiali saluti.
    Ultima modifica di GraphOGLRisorse : 21-05-2024 alle ore 16.45.19
    noncecapisco likes this.

  15. #15
    noncecapisco non è connesso Utente Blog
    Data registrazione
    16-09-2023
    Messaggi
    387

    Predefinito

    salve signore...grazie per la risposta...no stavo solo provando a capire come fare, dato che non mi funzionava, ho

    sistemato come mi ha detto lei..oggi la sento un po arrabbiata...ah ah ..ne ha tutte le ragioni....sono un

    incubo....


    allora questo e' il codice php

    Codice PHP:

    else if(in_array($estensione, $array_estensioni_video))
    {


    echo
    "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;<form name='ajax'><input type='hidden' name='contaclick' id='contaclick' value='".$row['id']."'><input type='image' name ='contaclick' src='download.png'style='margin-left:100px;margin-bottom:10px;'> '".$row['cuoricinofile']."'</form> <video preload='auto' src='".$row['file']."'controls='true' style='width:465px;height:auto;margin-left:13px;margin-top:5px;border-radius:15px;'></video>".PHP_EOL;

    }
    questo e' il suo codice che ho messo prima del div di chiusura di php </div> dopo "?>"


    Codice:
    <script type='text/javascript' src='http://code.jquery.com/jquery-1.6.2.min.js'></script>
    <script type='text/javascript'>
    $("#contaclick").click(function(){
        $.ajax({
            type: 'POST',
            url: 'upload-click-video-mp4.php',
            data: {
                'contaclickajax': $(this).val() 
            },
            success: function(data) {
                console.log("success");
            }
        });
    }) 
    </script>
    e questo e' l'upload click video mp4, ma non so come scriverlo in modo corretto


    Codice PHP:

    <?php


    $db_host
    = 'localhost';
    $db_user = 'noncecapisco';
    $db_pass = '';
    $db_name = 'my_noncecapisco';

    $cn = new mysqli($db_host, $db_user, $db_pass, $db_name);

    if (
    $cn->connect_errno) {
    echo
    "Connessione fallita: ". $cn->connect_error . ".";
    exit();
    }
    $contaclick = $_POST["contaclick"];


    $sql = 'UPDATE sito_animali_carosello SET cuoricinofile = cuoricinofile + 1 WHERE id = '.$contaclick ' ';

    if (!
    $cn->query($sql))
    {
    echo
    "Errore della query: " . $cn->error . ".";
    }
    }
    else
    {
    echo
    '$contaclick' non esiste;
    }

    ?>
    grazie....
    Ultima modifica di noncecapisco : 21-05-2024 alle ore 17.35.47

  16. #16
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    4,285

    Predefinito

    Ma lei, sotto sotto, si diverte a pasticiare per dare grattacapi agli altri?

    Seraimente, sta facendo un po' di pasticci.

    Con ajax invia il valore con contaclickajax ma poi lo vuole recuperare con $_POST["contaclick"] ovviamente non recupera così.

    In $_POST[] ci lasci contaclickajax:
    Codice PHP:
    $contaclick = $_POST["contaclickajax"];
    Poi nella query c'è l'errore con gli apici per la variabile. Non ha senso ciudere così ( ' '; ):
    Codice PHP:
    $sql = 'UPDATE sito_animali_carosello SET cuoricinofile = cuoricinofile + 1 WHERE id = '.$contaclick ' ';
    La variabile finale nella query o la mette così:
    Codice PHP:
    $sql = 'UPDATE sito_animali_carosello SET cuoricinofile = cuoricinofile + 1 WHERE id = '.$contaclick;
    oppure così:
    Codice PHP:
    $sql = 'UPDATE sito_animali_carosello SET cuoricinofile = cuoricinofile + 1 WHERE id = $contaclick';
    Ci blocchiamo ancora per sti errori?

    Cordiali saluti.
    Ultima modifica di GraphOGLRisorse : 21-05-2024 alle ore 18.32.46
    noncecapisco likes this.

  17. #17
    noncecapisco non è connesso Utente Blog
    Data registrazione
    16-09-2023
    Messaggi
    387

    Predefinito

    si si... a parte gli errori da mongoloide...lo so..purtroppo le virgolette e i puntini non mi entrano in testa...

    ma... mi sa che non ci siamo capiti.... ora sistemo quello che mi ha detto, ma il problema e', che se spingo il

    tasto cuoricino, parte il caricamento della pagina....non so se mi sono spiegato.... se con ajax mi parte il

    caricamento della pagina, che senso ha?...non so se lo ha notato....

    ho sistemato tutto...non funziona...parte il caricamento della pagina e il numero in mysql non aumenta..

    Codice PHP:

    <?php


    $db_host
    = 'localhost';
    $db_user = 'noncecapisco';
    $db_pass = '';
    $db_name = 'my_noncecapisco';

    $cn = new mysqli($db_host, $db_user, $db_pass, $db_name);

    if (
    $cn->connect_errno) {
    echo
    "Connessione fallita: ". $cn->connect_error . ".";
    exit();
    }
    $contaclick = $_POST["contaclickajax"];




    $sql = 'UPDATE sito_animali_carosello SET cuoricinofile = cuoricinofile + 1 WHERE id = '.$contaclick;

    if (!
    $cn->query($sql))
    {
    echo
    "Errore della query: " . $cn->error . ".";
    }
    }
    else
    {
    echo
    '$_POST[contaclick] non esiste';
    }

    ?>
    Ultima modifica di noncecapisco : 21-05-2024 alle ore 18.42.35

  18. #18
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    4,285

    Predefinito

    Altra cosa che manca (mi sono scrodato prima) è il controllo di post con la { prima della query.
    Codice PHP:
    if(isset($contaclick))
    {

    $sql = 'UPDATE sito_animali_carosello SET cuoricinofile = cuoricinofile + 1 WHERE id = '.$contaclick;

    if (!
    $cn->query($sql))
    {
    echo
    "Errore della query: " . $cn->error . ".";
    }
    }
    else
    {
    echo
    '$_POST[contaclick] non esiste';
    }
    Poi l'attributo value dell'input nascosto, secondo me dovrebbe essere valorizzato con $row['cuoricinofile'] ivece che con $row['id'].
    Codice PHP:
    <form name='ajax'><input type='hidden' name='contaclick' id='contaclick' value='".$row['cuoricinofile']."'><input type='image' name ='contaclick' src='download.png'style='margin-left:100px;margin-bottom:10px;'> '".$row['']."'</form>
    Come già fatto presente, io posso fare riferimento solo a quel che mostra e su quanto apapre guradando il codice della pagina dal sito.

    Cordiali saluti.
    Ultima modifica di GraphOGLRisorse : 21-05-2024 alle ore 19.58.36
    noncecapisco likes this.

  19. #19
    noncecapisco non è connesso Utente Blog
    Data registrazione
    16-09-2023
    Messaggi
    387

    Predefinito

    bo....


    se questa volta ho fatto bene...non funziona..e' come prima, parte il caricamento della pagina...e il click non

    viene messo.. non so poi...quale altro codice le devo mostrare...grazie.

    Codice PHP:

    <div style="scrollbar-border-radius:5px;margin-left:405px;width:520px;margin-top:-120px;height:560px;background-color:;position:fixed;overflow:scroll;">
    <?php
    error_reporting
    (-1);
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);



    $servername = "localhost";
    $username = "noncecapisco";
    $password = "";
    $dbname = "my_noncecapisco";


    $conn = new mysqli($servername, $username, $password, $dbname);
    $sql = "SELECT * FROM sito_animali_carosello ORDER BY id DESC ";
    $result = $conn->query($sql);
    $array_estensioni_poster= array('webm');
    $array_estensioni_video= array('mp4');
    $array_estensioni_immagini = array('jpg','jpeg','gif','tiff','png');

    while (
    $row = $result->fetch_assoc()) {
    $estensione = pathinfo($row["file"], PATHINFO_EXTENSION);

    if(
    in_array($estensione, $array_estensioni_immagini))
    {

    include
    "carosello.php";

    }
    else if(
    in_array($estensione, $array_estensioni_video))
    {


    echo
    "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;<form name='ajax'><input type='hidden' name='contaclick' id='contaclick' value='".$row['cuoricinofile']."'><input type='image' name ='contaclick' src='download.png'style='margin-left:100px;margin-bottom:10px;'> '".$row['cuoricinofile']."'</form>
    <video preload='auto' src='"
    .$row['file']."'controls='true' style='width:465px;height:auto;margin-left:13px;margin-top:5px;border-radius:15px;'></video>".PHP_EOL;

    }

    else if(
    in_array($estensione, $array_estensioni_poster))
    {


    echo
    "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;<iframe src='https://noncecapisco.altervista.org/animali/click-video-webm.php?id=".$row['id']."' width='100' height='50' border='0' frameborder='0' overflow='hidden' ></iframe><video preload='auto' poster='/animali/video-google-drive1.jpg' src='".$row["file"]."'controls='true' style=' border:0.1px solid #C0C0C0; width:465px;height:auto;margin-left:13px;margin-top:-15px;border-radius:15px;'></video>".PHP_EOL;
    }

    echo
    ' <div style="margin-left:20px;width:450px;word-wrap:break-word;color:#666666;margin-top:5px;margin-bottom:80px;font-size:25px;">'.$row["testo"].'</div><br>'.PHP_EOL;
    }


    ?>

    <script type='text/javascript' src='http://code.jquery.com/jquery-1.6.2.min.js'></script>
    <script type='text/javascript'>
    $("#contaclick").click(function(){
    $.ajax({
    type: 'POST',
    url: 'upload-click-video-mp4.php',
    data: {
    'contaclickajax': $(this).val()
    },
    success: function(data) {
    console.log("success");
    }
    });
    })
    </script>
    </div>

    upload-click-video-mp4.php

    Codice PHP:
    <?php


    $db_host
    = 'localhost';
    $db_user = 'noncecapisco';
    $db_pass = '';
    $db_name = 'my_noncecapisco';

    $cn = new mysqli($db_host, $db_user, $db_pass, $db_name);

    if (
    $cn->connect_errno) {
    echo
    "Connessione fallita: ". $cn->connect_error . ".";
    exit();
    }
    if(isset(
    $contaclick))
    {

    $sql = 'UPDATE sito_animali_carosello SET cuoricinofile = cuoricinofile + 1 WHERE id = '.$contaclick;

    if (!
    $cn->query($sql))
    {
    echo
    "Errore della query: " . $cn->error . ".";
    }
    }
    else
    {
    echo
    '$_POST[contaclick] non esiste';
    }



    ?>
    ho aggiunto " cuoricinofile , '".$row['cuoricinofile'].'" prima della chiusura del form.. altrimenti il

    numero dei click non si vede, e mi da errore, array non definito.grazie e buona cena
    Ultima modifica di noncecapisco : 21-05-2024 alle ore 20.18.50

  20. #20
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,752

    Predefinito

    • Ti avevo detto di non usare jQuery ma fetch(), ma ok, capisco che può risultare più facile.
    • Passando al tuo codice, con jQuery se scrivi $("#contaclick") stai selezionando l'elemento con id='contaclick'. In una pagina HTML, la regola dice che può esserci un solo elemento con lo stesso id, ovvero gli id devono essere univoci. Nel tuo caso, ad ogni iterazione stampi un elemento con id="contaclick". Questo evidentemente non va bene.
    • Assumendo che il punto precedente sia risolto, stai tentando di collegarti all'evento "click" di un oggetto che non è visibile all'utente perché è un input hidden Come può un elemento essere cliccato se non visibile?
    • Passando al secondo codice, $contaclick non esiste. Perché controlli se esiste una variabile inesistente? Quell'if non sarà mai vero e non verrà mai incrementato il valore di conteggio dei click.

    Prima di scrivere codice, prova a capire bene come agire e come fare le cose. Vai per step: se vuoi fare tutto in un'unica volta, la strada sarà troppo difficile e articolata.

    Hai già provato a chiedere alle IA? Potrebbero insegnarti molto meglio di questo forum visto che puoi interagire praticamente in real time facendo domande e chiedendo spiegazioni.

    Ciao!
    Ultima modifica di alemoppo : 22-05-2024 alle ore 00.38.01

  21. #21
    noncecapisco non è connesso Utente Blog
    Data registrazione
    16-09-2023
    Messaggi
    387

    Predefinito

    ok grazie boss..

    alemoppo...scusa ..giuro ...ultima cosa..


    secondo te.. si puo' rendere un campo text, predefinito con il valore di '".$row[id']."' ?


    es: <input type="text" name="contaclick" id="contaclick">

    nel senso per farlo arrivare come variabile $_POST['contaclick'] ?
    Ultima modifica di noncecapisco : 22-05-2024 alle ore 11.55.23

  22. #22
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    4,285

    Predefinito

    Questo è il codice completo di base:
    Codice PHP:
    <form id="frm<?php echo $row['id'] ?>">
    <input type="hidden" id="val<?php echo $row['id'] ?>" value="<?php echo $_POST["contaclick"] ?>">
    <input type="image" src="download.png">
    <span id="clickid<?php echo $row['id'] ?>"><?php if(isset($_POST["contaclick"]) > 0){echo $_POST["contaclick"];} else {echo "0";}?></span>
    </form>

    <script>
    $('#frm<?php echo $row['id'] ?>').submit(function(e){
    e.preventDefault();
    $.ajax({
    type: 'POST',
    url: 'upload-click-video-mp4.php',
    data: {contaclickajax: $("#val<?php echo $row['id'] ?>").val()},
    success: function(data) {
    $('#clickid<?php echo $row['id'] ?>').html(data);
    }
    });
    });
    </script>
    Spiegazione:

    L'input nascosto viene usato per passare il valore prelavato dal database ad ajax.
    Codice PHP:
    <input type="hidden" id="val<?php echo $row['id'] ?>" value="<?php echo $_POST["contaclick"] ?>">
    Input di tipo immagine è il modo corretto per avere il l'immagine che appare al posto del del pulsante subit e che svolge la stessa interazione.
    Codice HTML:
    <input type="image" src="download.png">
    Permette di mostrare il valore del contaore.
    Codice PHP:
    <span id="clickid<?php echo $row['id'] ?>"><?php if(isset($_POST["contaclick"]) > 0){echo $_POST["contaclick"];} else {echo "0";}?></span>
    PS: Sarebbe anche bene non fare sempre uso di echo per stmapare ogni parte (o quasi) di HTML che interagisce con PHP.

    Cordiali saluti.
    Ultima modifica di GraphOGLRisorse : 22-05-2024 alle ore 18.21.34
    noncecapisco likes this.

  23. #23
    noncecapisco non è connesso Utente Blog
    Data registrazione
    16-09-2023
    Messaggi
    387

    Predefinito

    buona sera signore...da paura....grazie...ora provo a fare tutto.....

    signor graph , ho provato intanto a mettere il tutto dentro il form del video...mi viene cosi...
    Ultima modifica di noncecapisco : 22-05-2024 alle ore 18.05.29

  24. #24
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    4,285

    Predefinito

    Si recupera con la variabile $_POST["contaclickajax"] e poi, dopo aver eseguito la gestione della query per l'incremento si stampa nella stessa pagina il risultato echo $_POST["contaclickajax"];

    Qualcosa tipo:
    Codice PHP:
    <?php
    $db_host
    = 'localhost';
    $db_user = 'noncecapisco';
    $db_pass = '';
    $db_name = 'my_noncecapisco';

    $cn = new mysqli($db_host, $db_user, $db_pass, $db_name);

    if(
    $cn->connect_errno)
    {
    echo
    "Connessione fallita: ". $cn->connect_error . ".";
    exit();
    }

    if(isset(
    $_POST["contaclickajax"]))
    {
    $sql = 'UPDATE sito_italia SET contaclick = contaclick + 1 WHERE id = '.$_POST["contaclickajax"];

    if(!
    $cn->query($sql))
    {
    echo
    "Errore della query: " . $cn->error . ".";
    }
    else
    {
    echo
    $_POST["contaclickajax"];
    }
    }
    else
    {
    echo
    '$_POST[contaclickajax] non esiste';
    }
    ?>
    Cordiali saluti.

  25. #25
    noncecapisco non è connesso Utente Blog
    Data registrazione
    16-09-2023
    Messaggi
    387

    Predefinito

    signor graph... allora.. ho fatto tutto come mi ha detto,

    questo e' il form, mi da una marea di errori di virgolette, e secondo me i colori di $row... e $_POST .. non sono

    corretti, alcuni sono rossi e alcuni azzurri, ho provato ha sistemare le virgolette e puntini, ma, mi da sempre errori:

    Codice PHP:

    <div style="scrollbar-border-radius:5px;margin-left:405px;width:520px;margin-top:-120px;height:560px;background-color:;position:fixed;overflow:scroll;">
    <?php
    error_reporting
    (-1);
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);



    $servername = "localhost";
    $username = "noncecapisco";
    $password = "";
    $dbname = "my_noncecapisco";


    $conn = new mysqli($servername, $username, $password, $dbname);
    $sql = "SELECT * FROM sito_animali_carosello ORDER BY id DESC ";
    $result = $conn->query($sql);
    $array_estensioni_poster= array('webm');
    $array_estensioni_video= array('mp4');
    $array_estensioni_immagini = array('jpg','jpeg','gif','tiff','png');

    while (
    $row = $result->fetch_assoc()) {
    $estensione = pathinfo($row["file"], PATHINFO_EXTENSION);

    if(
    in_array($estensione, $array_estensioni_immagini))
    {

    include
    "carosello.php";

    }
    else if(
    in_array($estensione, $array_estensioni_video))
    {


    echo
    '<form id="frm<?php echo "'.$row['id'].'" ?>">
    <input type="hidden" id="val<?php echo "'
    .$row['id'].'" ?>" value="<?php echo $_POST["contaclick"] ?>">
    <input type="image" src="download.png">
    <span id="clickid<?php echo $row['
    id'] ?>"><?php if(isset($_POST["contaclick"]) > 0){echo $_POST["contaclick"];} else {echo "0";}?></span>
    </form><video preload="auto" src="'
    .$row['file'].'"controls="true" style="width:465px;height:auto;margin-left:13px;margin-top:5px;border-radius:15px;"></video>'.PHP_EOL;
    }

    else if(
    in_array($estensione, $array_estensioni_poster))
    {


    echo
    "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;<iframe src='https://noncecapisco.altervista.org/animali/click-video-webm.php?id=".$row['id']."' width='100' height='50' border='0' frameborder='0' overflow='hidden' ></iframe><video preload='auto' poster='/animali/video-google-drive1.jpg' src='".$row["file"]."'controls='true' style=' border:0.1px solid #C0C0C0; width:465px;height:auto;margin-left:13px;margin-top:-15px;border-radius:15px;'></video>".PHP_EOL;
    }

    echo
    ' <div style="margin-left:20px;width:450px;word-wrap:break-word;color:#666666;margin-top:5px;margin-bottom:80px;font-size:25px;">'.$row["testo"].'</div><br>'.PHP_EOL;
    }


    ?>
    <script>
    $('#frm<?php echo $row['id'] ?>').submit(function(e){
    e.preventDefault();
    $.ajax({
    type: 'POST',
    url: 'upload-click-video-mp4.php',
    data: {contaclickajax: $("#val<?php echo $row['id'] ?>").val()},
    success: function(data) {
    $('#clickid<?php echo $row['id'] ?>').html(data);
    }
    });
    });
    </script>
    </div>

    e questo e' l'upload-click-video-mp4

    Codice PHP:
    <?php
    $db_host
    = 'localhost';
    $db_user = 'noncecapisco';
    $db_pass = '';
    $db_name = 'my_noncecapisco';

    $cn = new mysqli($db_host, $db_user, $db_pass, $db_name);

    if(
    $cn->connect_errno)
    {
    echo
    "Connessione fallita: ". $cn->connect_error . ".";
    exit();
    }

    if(isset(
    $_POST["contaclickajax"]))
    {
    $sql = 'UPDATE sito_italia SET contaclick = contaclick + 1 WHERE id = '.$_POST["contaclickajax"];

    if(!
    $cn->query($sql))
    {
    echo
    "Errore della query: " . $cn->error . ".";
    }
    else
    {
    echo
    $_POST["contaclickajax"];
    }
    }
    else
    {
    echo
    '$_POST[contaclickajax] non esiste';
    }
    ?>
    lo sto facendo direttamente nel sito principale

    https://noncecapisco.altervista.org/....php?x=28&y=27


    grazie e buona cena...
    Ultima modifica di noncecapisco : 22-05-2024 alle ore 19.55.07

  26. #26
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    4,285

    Predefinito

    Questo accade perchè insite nel voler mettere tutto HTML come stringa per poi stamarlo con echo. Certo se la sitassi fosse corretta, non avrebbe svariati messagi di errore.
    Codice PHP:
    echo'<form id="frm<?php echo "'.$row['id'].'" ?>">
    <input type="hidden" id="val<?php echo "'.$row['id'].'" ?>" value="<?php echo $_POST["contaclick"] ?>">
    <input type="image" src="download.png">
    <span id="clickid<?php echo $row['id'] ?>"><?php if(isset($_POST["contaclick"]) > 0){echo $_POST["contaclick"];} else {echo "0";}?></span>
    </form><video preload="auto" src="'.$row['file'].'"controls="true" style="width:465px;height:auto;margin-left:13px;margin-top:5px;border-radius:15px;"></video>'.PHP_EOL;
    Il codice come lo ho fatto io, non necessita di essere convertito in una stringa.

    Ha senso per lei che in un astringa di php vi siano <?php e ?> ?

    Poi vorrei sapere secondo lei, che senso avrebbe fare una cosa di questo tipo?
    Codice PHP:
    <?php echo "'.$row['id'].'" ?>
    Perchè modifica le cose contro logica?

    Cordiali saluti.
    Ultima modifica di GraphOGLRisorse : 22-05-2024 alle ore 20.38.14
    noncecapisco likes this.

  27. #27
    noncecapisco non è connesso Utente Blog
    Data registrazione
    16-09-2023
    Messaggi
    387

    Predefinito

    signor graph....,forse ha frainteso... non ho modificato il codice, perche' ho pensato che lei si fosse sbagliato..ma le pare? io in confronto a lei non so nulla...il fatto e', che mi dava gli errori su alcune virgolette e puntini, e i colori non erano come li ho sempre visti. tutto qua.

    il suo codice, prima di modificare le virgolette e i puntini, l'ho provato...(non e'che sono matto)


    eccolo, e' il video..:

    Codice PHP:
    <div style="scrollbar-border-radius:5px;margin-left:405px;width:520px;margin-top:-120px;height:560px;background-color:;position:fixed;overflow:scroll;">
    <?php
    error_reporting
    (-1);
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);



    $servername = "localhost";
    $username = "noncecapisco";
    $password = "";
    $dbname = "my_noncecapisco";


    $conn = new mysqli($servername, $username, $password, $dbname);
    $sql = "SELECT * FROM sito_animali_carosello ORDER BY id DESC ";
    $result = $conn->query($sql);
    $array_estensioni_poster= array('webm');
    $array_estensioni_video= array('mp4');
    $array_estensioni_immagini = array('jpg','jpeg','gif','tiff','png');

    while (
    $row = $result->fetch_assoc()) {
    $estensione = pathinfo($row["file"], PATHINFO_EXTENSION);

    if(
    in_array($estensione, $array_estensioni_immagini))
    {

    include
    "carosello.php";

    }
    else if(
    in_array($estensione, $array_estensioni_video))
    {


    echo
    "<form id="frm<?php echo $row['id'] ?>">
    <input type="hidden" id="val<?php echo $row['id'] ?>" value="<?php echo $_POST["contaclick"] ?>">
    <input type="image" src="download.png">
    <span id="clickid<?php echo $row['id'] ?>"><?php if(isset($_POST["contaclick"]) > 0){echo $_POST["contaclick"];} else {echo "0";}?></span>
    </form><video preload='auto' src='".$row["file"]."'controls='true' style='width:465px;height:auto;margin-left:13px;margin-top:-15px;border-radius:15px;'></video>".PHP_EOL;

    }

    else if(in_array($estensione, $array_estensioni_poster))
    {


    echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;<iframe src='https://noncecapisco.altervista.org/animali/click-video-webm.php?id=".$row['id']."' width='100' height='50' border='0' frameborder='0' overflow='hidden' ></iframe><video preload='auto' poster='/animali/video-google-drive1.jpg' src='".$row["file"]."'controls='true' style=' border:0.1px solid #C0C0C0; width:465px;height:auto;margin-left:13px;margin-top:-15px;border-radius:15px;'></video>".PHP_EOL;
    }

    echo' <div style="margin-left:20px;width:450px;word-wrap:break-word;color:#666666;margin-top:5px;margin-bottom:80px;font-size:25px;">'.$row["testo"].'</div><br>'.PHP_EOL;
    }


    ?>
    <script>
    $('#frm<?php echo $row['id'] ?>').submit(function(e){
    e.preventDefault();
    $.ajax({
    type: 'POST',
    url: 'upload-click-video-mp4.php',
    data: {contaclickajax: $("#val<?php echo $row['id'] ?>").val()},
    success: function(data) {
    $('#clickid<?php echo $row['id'] ?>').html(data);
    }
    });
    });
    </script>
    </div>
    la pagina e' sempre questa:
    https://noncecapisco.altervista.org/animali/Animali.php

  28. #28
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    4,285

    Predefinito

    Se si valorizza una qualche proprietà di un elemnto HTML con lo short di PHP, esempio:
    Codice PHP:
    <input type="submit" id="id<?php echo $myid ?>">
    e lo si vuole mettere dentro ad un pezzo di codice PHP, ad esempio un controllo, non si può fare così:
    Codice PHP:
    <?php

    // altro codice

    if($qualcosa))
    {
    <
    input type="submit" id="id<?php echo $myid ?>">
    }

    // altro codice

    ?>
    ma si dovrà chiudere il tag PHP ?> prima del blocco in HTML e riaprirlo <?php dopo:
    Codice PHP:
    <?php

    // altro codice

    if($qualcosa))
    {
    ?>
    <input type="submit" id="id<?php echo $myid ?>">
    <?php
    }

    // altro codice

    ?>
    Questo è solo un esempio a parte dal codice del sito.

    Cordiali saluti.
    noncecapisco likes this.

  29. #29
    noncecapisco non è connesso Utente Blog
    Data registrazione
    16-09-2023
    Messaggi
    387

    Predefinito

    ok....siccome io sono un incompetente, per far funzionare questo suo codice che devo fare?

    Codice PHP:

    <div style="scrollbar-border-radius:5px;margin-left:405px;width:520px;margin-top:-120px;height:560px;background-color:;position:fixed;overflow:scroll;">
    <?php
    error_reporting
    (-1);
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);



    $servername = "localhost";
    $username = "noncecapisco";
    $password = "";
    $dbname = "my_noncecapisco";


    $conn = new mysqli($servername, $username, $password, $dbname);
    $sql = "SELECT * FROM sito_animali_carosello ORDER BY id DESC ";
    $result = $conn->query($sql);
    $array_estensioni_poster= array('webm');
    $array_estensioni_video= array('mp4');
    $array_estensioni_immagini = array('jpg','jpeg','gif','tiff','png');

    while (
    $row = $result->fetch_assoc()) {
    $estensione = pathinfo($row["file"], PATHINFO_EXTENSION);

    if(
    in_array($estensione, $array_estensioni_immagini))
    {

    include
    "carosello.php";

    }
    else if(
    in_array($estensione, $array_estensioni_video))
    {


    echo
    "<form id="frm<?php echo $row['id'] ?>">
    <input type="hidden" id="val<?php echo $row['id'] ?>" value="<?php echo $_POST["contaclick"] ?>">
    <input type="image" src="download.png">
    <span id="clickid<?php echo $row['id'] ?>"><?php if(isset($_POST["contaclick"]) > 0){echo $_POST["contaclick"];} else {echo "0";}?></span>
    </form><video preload='auto' src='".$row["file"]."'controls='true' style='width:465px;height:auto;margin-left:13px;margin-top:-15px;border-radius:15px;'></video>".PHP_EOL;

    }

    else if(in_array($estensione, $array_estensioni_poster))
    {


    echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;<iframe src='https://noncecapisco.altervista.org/animali/click-video-webm.php?id=".$row['id']."' width='100' height='50' border='0' frameborder='0' overflow='hidden' ></iframe><video preload='auto' poster='/animali/video-google-drive1.jpg' src='".$row["file"]."'controls='true' style=' border:0.1px solid #C0C0C0; width:465px;height:auto;margin-left:13px;margin-top:-15px;border-radius:15px;'></video>".PHP_EOL;
    }

    echo' <div style="margin-left:20px;width:450px;word-wrap:break-word;color:#666666;margin-top:5px;margin-bottom:80px;font-size:25px;">'.$row["testo"].'</div><br>'.PHP_EOL;
    }


    ?>
    <script>
    $('#frm<?php echo $row['id'] ?>').submit(function(e){
    e.preventDefault();
    $.ajax({
    type: 'POST',
    url: 'upload-click-video-mp4.php',
    data: {contaclickajax: $("#val<?php echo $row['id'] ?>").val()},
    success: function(data) {
    $('#clickid<?php echo $row['id'] ?>').html(data);
    }
    });
    });
    </script>
    </div>

  30. #30
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,752

    Predefinito

    Ho fatto copia-incolla da qui (non ho nemmeno letto cosa c'è scritto).
    Per far funzionare il codice che hai fornito, ci sono diversi problemi e correzioni da apportare. Di seguito è riportata una versione corretta e migliorata del codice:

    ### 1. Corretti problemi di sintassi e HTML

    1. **Quote nei tag HTML**: Gli attributi degli elementi HTML devono essere racchiusi tra doppi apici.
    2. **Chiusura di tag PHP**: Utilizza la concatenazione corretta in PHP per includere variabili dentro stringhe HTML.
    3. **Includi il tag `<script>` alla fine della pagina**: Per essere sicuri che l'elemento con l'id specificato esista nel DOM.

    ### 2. Rimozione di variabili non utilizzate e miglioramento della logica

    Codice PHP:
    <!DOCTYPE html>
    <html lang="it">
    <head>
    <meta charset="UTF-8">
    <title>Carosello Animali</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    </head>
    <body>
    <div style="scrollbar-border-radius:5px;margin-left:405px;width:520px;margin-top:-120px;height:560px;background-color:;position:fixed;overflow:scroll;">
    <?php
    error_reporting
    (-1);
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

    $servername = "localhost";
    $username = "noncecapisco";
    $password = "";
    $dbname = "my_noncecapisco";

    $conn = new mysqli($servername, $username, $password, $dbname);
    $sql = "SELECT * FROM sito_animali_carosello ORDER BY id DESC";
    $result = $conn->query($sql);

    $array_estensioni_poster = array('webm');
    $array_estensioni_video = array('mp4');
    $array_estensioni_immagini = array('jpg', 'jpeg', 'gif', 'tiff', 'png');

    while (
    $row = $result->fetch_assoc()) {
    $estensione = pathinfo($row["file"], PATHINFO_EXTENSION);

    if (
    in_array($estensione, $array_estensioni_immagini)) {
    include
    "carosello.php";
    } elseif (
    in_array($estensione, $array_estensioni_video)) {
    echo
    '<form id="frm' . $row['id'] . '">
    <input type="hidden" id="val'
    . $row['id'] . '" value="' . (isset($_POST["contaclick"]) ? $_POST["contaclick"] : 0) . '">
    <input type="image" src="download.png">
    <span id="clickid'
    . $row['id'] . '">' . (isset($_POST["contaclick"]) ? $_POST["contaclick"] : 0) . '</span>
    </form>
    <video preload="auto" src="'
    . $row["file"] . '" controls="true" style="width:465px;height:auto;margin-left:13px;margin-top:-15px;border-radius:15px;"></video>' . PHP_EOL;
    } elseif (
    in_array($estensione, $array_estensioni_poster)) {
    echo
    '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <iframe src="https://noncecapisco.altervista.org/animali/click-video-webm.php?id='
    . $row['id'] . '" width="100" height="50" border="0" frameborder="0" overflow="hidden"></iframe>
    <video preload="auto" poster="/animali/video-google-drive1.jpg" src="'
    . $row["file"] . '" controls="true" style="border:0.1px solid #C0C0C0; width:465px;height:auto;margin-left:13px;margin-top:-15px;border-radius:15px;"></video>' . PHP_EOL;
    }

    echo
    '<div style="margin-left:20px;width:450px;word-wrap:break-word;color:#666666;margin-top:5px;margin-bottom:80px;font-size:25px;">' . $row["testo"] . '</div><br>' . PHP_EOL;
    }
    ?>
    </div>

    <script>
    $(document).ready(function() {
    <?php
    $result
    ->data_seek(0); // Reset result pointer to the beginning
    while ($row = $result->fetch_assoc()) { ?>
    $('#frm<?php echo $row['id'] ?>').submit(function(e) {
    e.preventDefault();
    $.ajax({
    type: 'POST',
    url: 'upload-click-video-mp4.php',
    data: { contaclickajax: $("#val<?php echo $row['id'] ?>").val() },
    success: function(data) {
    $('#clickid<?php echo $row['id'] ?>').html(data);
    }
    });
    });
    <?php } ?>
    });
    </script>
    </body>
    </html>
    ### Note Importanti:

    1. **Sicurezza**: Assicurati che i dati provenienti dall'utente siano opportunamente sanitizzati per prevenire attacchi di tipo SQL injection o XSS.
    2. **Stile e layout**: Per migliorare il layout, potresti considerare l'uso di CSS esterno piuttosto che stile inline.
    3. **Database**: Assicurati che le credenziali del database siano corrette e che il database `my_noncecapisco` esista con la tabella `sito_animali_carosello`.
    4. **File inclusi**: Assicurati che il file `carosello.php` e `upload-click-video-mp4.php` esistano e funzionino correttamente.

    Con queste correzioni, il tuo codice dovrebbe funzionare meglio e senza errori di sintassi.
    Ciao!
    Ultima modifica di alemoppo : 22-05-2024 alle ore 21.29.02
    noncecapisco likes this.

Pagina 1 di 2 12 UltimoUltimo

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •