Visualizzazione risultati 1 fino 11 di 11
Like Tree5Likes
  • 1 Post By alemoppo
  • 1 Post By alemoppo
  • 1 Post By alemoppo
  • 1 Post By alemoppo
  • 1 Post By alemoppo

Discussione: php errore non capito

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

    Smile php errore non capito

    buon giorno...scusate ma...penso diaver finito..per un bel po', non mi sentirete piu'..ah ah

    ho ricevuto questo errore a fine pagina(che funziona bene), ma non lo capisco:


    Attenzione: non è possibile modificare le informazioni sull'intestazione - intestazioni già inviate da (output avviato su /membri/noncecapisco/animali/carosello-per-ricerca-animali.php:66) in /membri/noncecapisco/animali/ricerca-animali.php alla riga 92

    Codice PHP:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <meta name="google" content="notranslate" />
    <meta name="generator" content="AlterVista - Editor HTML"/>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
    <title></title>

    </head>
    <body>

    <div style="scrollbar-border-radius:5px;margin-left:410px;width:500px;margin-top:50px;height:auto;background-color:;position:;overflow-x:hidden;">

    <?php
    error_reporting
    (-1);
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);


    $razza = $_POST['razza'];
    setcookie ('razza',$_POST['razza'],time()+120000);
    $citta = $_POST['citta'];
    setcookie ('citta',$_POST['citta'],time()+120000);


    $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();
    }

    $sql = "SELECT *FROM sito_animali_carosello WHERE razza ='".$razza."' AND citta = '".$citta."' ";

    $result = $cn->query($sql);
    if(
    mysqli_num_rows($result) > 0)
    {



    echo
    '<span
    style="font-family: Times New Roman,Times,serif;font-size:50px;margin-left:-380px;margin-top:-112px;position:fixed;color:#3333FF;;"><br>
    Animali.it</span>'
    ;
    echo
    "<div style='font-size:1.15em;color:#0e3c68;font-weight:bold;margin-left:-400px;margin-top:25px;position:fixed;'>i risultati della tua ricerca per : $razza in $citta </div> ";

    $array_estensioni_poster = array('mkv','3gp','wmv','webm');
    $array_estensioni_video = array('mp4');
    $array_estensioni_immagini = array('jpg','jpeg','gif','tiff');

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

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

    include
    "carosello-per-ricerca-animali.php";
    }
    else if(
    in_array($estensione, $array_estensioni_video)) //questa e' la riga 66
    {


    echo
    "<iframe src='https://noncecapisco.altervista.org/animali/click-video-mp4.php?id=".$row['id']."' width='100' height='50' border='0' frameborder='0' overflow='hidden' ></iframe><video preload='auto' src='".$row["file"]."'controls='true' style='width:460px;height:auto;margin-left:16px;margin-top:-15px;border-radius:15px;'></video></form>".PHP_EOL;

    }

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


    echo
    "<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='video-google-drive1.jpg' src='".$row["file"]."'controls='true' style=' border:2px solid #C0C0C0; width:460px;height:auto;margin-left:16px;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:50px;font-size:20px;">'.$row["testo"].'</div><br>'.PHP_EOL;

    }

    }
    echo
    '<span
    style="font-size:50px;font-family: Times New Roman,Times,serif;margin-left:-380px;margin-top:-167px;position:fixed;color:#3333FF;;"><br>
    Animali.it</span>'
    ;
    echo
    "<div style='font-size:1.15em;color:#0e3c68;font-weight:bold;margin-left:-400px;margin-top:-35px;position:fixed;'>Ci dispiace, ma la razza: '$razza' nella citta' di: '$citta' non e' ancora presente nel <br>
    nostro sistema,tra 5 secondi verrai reindirizzato al sito , prova con un altra.</div>"
    ;
    $italia = "https://noncecapisco.altervista.org/animali/Animali.php";
    header("Refresh: 10; url=" . $italia); //e questa e' la 92

    ?>

    </div>
    <p>&nbsp;</p>

    </body>
    </html>
    grazie e buona giornata...ciao dreadnaut!
    Ultima modifica di noncecapisco : 18-05-2024 alle ore 12.35.21

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

    Predefinito

    Mi sembrava di avertelo già scritto molto tempo fa di non usare header() se produci output HTML. La documentazione aiuta sempre! Vedi qui:
    Remember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP. It is a very common error to read code with include, or require, functions, or another file access function, and have spaces or empty lines that are output before header() is called. The same problem exists when using a single PHP/HTML file.
    Ciao!
    noncecapisco likes this.

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

    Predefinito

    alemoppooooooooooooooooooooooooooooooooooooooooo come stai??? ok grazie, ora vedo la bibbia che mi hai linkato...ah ah

    scusa ma.. io il refresh ce l'ho su tante pagine..perche' proprio su questa mi da il problema?
    Ultima modifica di noncecapisco : 18-05-2024 alle ore 12.48.14

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

    Predefinito

    Probabilmente in quella pagina stampi qualche carattere prima di usare header(). Nelle altre probabilmente non lo fai.

    In sintesi, non puoi usare header() se prima hai scritto dei caratteri con echo o simili. Questo perché header() influisce nella parte "header" della richiesta (non centra nulla <header>, che è dentro al payload della richiesta).

    EDIT:
    Per spiegare meglio, una richiesta HTTP può essere di questo tipo:
    Codice:
    HTTP/1.1 200 OK
    Content-Type: text/html; charset=UTF-8
    Content-Length: 123
    
    <!DOCTYPE html>
    <html lang="it">
    <head>
    <title>Pagina di Esempio</title>
    </head>
    <body>
    <h1>Ciao Mondo!</h1>
    <p>Questo è un paragrafo di esempio.</p>
    </body>
    </html>
    La parte in grassetto è l'header. La parte successiva è il contenuto della richiesta. Tu, con header() vai a modificare la parte "header" (in particolare a specificare il parametro Location), ma se hai già inviato del codice HTML, non puoi più modificare la parte header, perché già inviata all'utente.

    Ciao!
    Ultima modifica di alemoppo : 18-05-2024 alle ore 12.58.34
    noncecapisco likes this.

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

    Predefinito

    ho levato il refresh e ho scritto " torna in dietro".... errore sparito....

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

    Predefinito

    Potresti, in realtà, fare una cosa di questo tipo:
    Codice PHP:
    <?php
    if (!headers_sent())
    {
    // Se gli header non sono stati inviati, usa il redirect PHP come fai adesso
    header('Location: http://url.it');
    exit;
    }
    else
    {
    // Se gli header sono già stati inviati, usa il redirect HTML
    echo '<html><head><meta http-equiv="refresh" content="0; url=http://url.it"></head></html>';
    exit;
    }
    Ciao!
    noncecapisco likes this.

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

    Predefinito

    ho fatto cosi' ma quando finisce di caricare la pagina mi rimanda al sito:

    Codice PHP:

    echo'<span
    style="font-size:50px;font-family: Times New Roman,Times,serif;margin-left:-380px;margin-top:-167px;position:fixed;color:#3333FF;;"><br>
    Animali.it</span>'
    ;
    echo
    "<div style='font-size:1.15em;color:#0e3c68;font-weight:bold;margin-left:-400px;margin-top:-35px;position:fixed;'>Ci dispiace, ma la razza: '$razza' nella citta' di: '$citta' non e' ancora presente nel <br>
    nostro sistema, prova con un altra razza.</div>"
    ;

    if (!
    headers_sent())
    {
    // Se gli header non sono stati inviati, usa il redirect PHP come fai adesso
    header('Location:https://noncecapisco.altervista.org/animali/Animali.php');
    exit;
    }
    else
    {
    // Se gli header sono già stati inviati, usa il redirect HTML
    echo '<html><head><meta http-equiv="refresh" content="0; url=https://noncecapisco.altervista.org/animali/Animali.php"></head></html>';
    exit;
    }

    ?>

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

    Predefinito

    Quello è appunto il redirect. Intendevo che al posto di "header()", quindi quando fai il redirect, dovresti prima controllare se gli header sono già stati inviati, in quel caso usare il redirect fatto in HTML e non con la header().

    Non ho capito però perché in questo specifico caso vuoi fare un redirect se stai scrivendo un messaggio all'utente.

    Ciao!
    noncecapisco likes this.

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

    Predefinito

    grazie boss...lo faccio tornare in dietro a lui...sti cavoli....hai visto il sito?

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

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

    Predefinito

    Sì! Alla fine spero tu sia riuscito a fare quel che volevi.

    Ora, con tutta la calma del mondo, prova a fare tutto senza frame!

    Ciao!
    noncecapisco likes this.

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

    Predefinito

    si..sono molto contento...ovviamente .....se non era per "te", e il signor "graphOGLrisorse" stavo ancora a mettere il

    colore alla pagina del sito... mi avete insegnato un mondo di cose..(gratis) non sapro' mai come ringraziarvi.

    perche' dici cosi? con gli iframe da problemi?

    e poi scusa...quale' la differenza con ajax?
    Ultima modifica di noncecapisco : 18-05-2024 alle ore 14.35.35

Regole di scrittura

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