Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 33
  1. #1

    Errore caricamento file PHP

    Salve seguo questo forum da tanto, � la prima volta che posto un mio problema.

    il problema � il seguente, ho un file index.php con questa porzione di codice:

    Codice PHP:
    <?php 
    include('../../connect.php');
    $result mysql_query("SELECT * FROM articoli")or die(mysql_error());
    while(
    $row mysql_fetch_array$result )) {
    ;
    ?>                                                 
    <div>
    <h3><?php echo $row['titoloArt'];?></h3>
    <p><?php echo substr($row['contenutoArt'],0,200);?></p>
    <?echo '<a href="leggi_articolo.php?id='.$row['id'] .'">'$row['titoloArt'] .'</a>';?></div>
    <?};
    ?>
    il file leggi_articolo.php

    codice HTML:
    <div id="articolo" class="col-md-9"></div>
    un file blog.js

    codice HTML:
    <script>
    
    $( document ).ready(function(){        
    if($('#articolo').length){            
    $('#articolo').load('asset/js/articolo.php');        
    }    
    });
    </script>
    e infine il file richiamato nello script articolo.php

    Codice PHP:
    <?php
    include('../../connect.php');
    if (isset(
    $_GET['id']) && is_numeric($_GET['id']) && $_GET['id'] > 0){$id $_GET['id'];$result mysql_query("SELECT * FROM articoli WHERE id=$id")or die(mysql_error());$row mysql_fetch_array($result); if($row){
    $titoloArt $row['titoloArt'];$contenutoArt $row['contenutoArt'];}else{echo "Nessun risultato!";}}else{echo 'Errore!';}
    ?>
    <h2><? echo $titoloArt ;?></h2><p><? echo $contenutoArt ;?></p>
    Quando clicco sul link presente in index.php per visualizzare l'articolo la risposta che ricevo � Errore! (che fa riferimento a : else// se l' 'id' nell'URL non � valido, o se non vi � alcun valore di 'id', visualizza un errore
    {
    echo 'Errore!'. Ci� che non mi � chiaro � che se scrivo il codice di articolo.php direttamente in leggi_articolo.php tutto funziona mentre con il caricamento tramite js non funziona.

    P.S. Ho utilizzato lo stesso sistema per visualizzare l'anteprima degli articoli in index.php e funziona perfettamente.

    Mi scuso in anticipo se ho violato qualche regola del forum, leggo spesso i forum ma raramente posto qualche cosa di mio.

    Spero che qualcuno riesca ad aiutarmi.
    Grazie
    Ultima modifica di antonio_farella; 08-11-2016 a 15:45

  2. #2
    non capisco la struttra dell'if che l'hai postata tutta attaccata, cmq fatti stampare il valore di $_GET['id'] e la query che genera e vedi se ti tornano i conti.
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Grazie della risposta Santino83_02 provo a scriverlo senza tag forse è più chiaro:

    if (isset($_GET['id']) && is_numeric($_GET['id']) && $_GET['id'] > 0)
    {
    // query db
    $id = $_GET['id'];
    $result = mysql_query("SELECT * FROM articoli WHERE id=$id")
    or die(mysql_error());
    $row = mysql_fetch_array($result);

    // verifica che l' 'id' corrisponda a una riga nel database
    if($row)
    {

    // ottiene i dati dal db
    $titoloArt = $row['titoloArt'];
    $contenutoArt = $row['contenutoArt'];
    }
    else
    // se non corrisponde visualizza il risultato
    {
    echo "Nessun risultato!";
    }
    }
    else
    // se l' 'id' nell'URL non è valido, o se non vi è alcun valore di 'id', visualizza un errore
    {
    echo 'Errore!';
    }

  4. #4
    Se quella pagina php viene richiamata da :

    codice:
    $('#articolo').load('asset/js/articolo.php');
    come vedi, ti sei scordata l'id da passare in querystring (quel $_GET che usi). Probabilmente, se apri la console di chrome e osservi la richiesta che viene effettuata quando clicchi sul link, vedrai che non ti passa nulla in querystring e quindi $_GET['id'] non è valorizzata
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5
    Quote Originariamente inviata da Santino83_02 Visualizza il messaggio
    Se quella pagina php viene richiamata da :

    codice:
    $('#articolo').load('asset/js/articolo.php');
    come vedi, ti sei scordata l'id da passare in querystring (quel $_GET che usi). Probabilmente, se apri la console di chrome e osservi la richiesta che viene effettuata quando clicchi sul link, vedrai che non ti passa nulla in querystring e quindi $_GET['id'] non è valorizzata
    Non so se ho capito bene cosa mi stai suggerendo, comunque il link punta alla pagina corretta "leggi_articolo.php?id=1" ed anche la url della pagina sulla quale atterro è corretta: http://sito.it/leggi_articolo.php?id=1, l'id dovrebbe appunto prenderlo dalla url ma l'errore che mi riporta è proprio questo.

  6. #6
    scusa hai ragione, mi ero perso un passaggio col js. cmq in leggi_articolo metti, dopo l'include:

    codice:
    var_dump($_GET);
    exit;
    e vediamo che tira fuori...
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  7. #7
    Quote Originariamente inviata da Santino83_02 Visualizza il messaggio
    scusa hai ragione, mi ero perso un passaggio col js. cmq in leggi_articolo metti, dopo l'include:

    codice:
    var_dump($_GET);
    exit;
    e vediamo che tira fuori...

    in leggi_articolo.php non c'è inclusione tramite php ma viene richiamata attraverso l'id del div (funzione di blog.js), forse intendevi in articolo.php ?

    Comunque ho inserito
    codice:
    var_dump($_GET);
    exit;
    nel div in questione in leggi_articolo e la risposta è la seguente:
    array(1) { ["id"]=> string(1) "1" }

    se lo metto in articolo.php prima della funzione mi da:

    array(0) { }

  8. #8
    Suggerimenti?

  9. #9
    boh, l'unica cosa che mi viene in mente

    Codice PHP:

    $id 
    = isset($_GET['id']) && is_int($_GET['id']) ? (int)$_GET['id'] : 0;

    if(
    $id 0){
    ....
    }else{
    echo 
    "errore";

    ma dovresti assicurarti che il tuo codice lato client richiami correttamente la pagina con la querystring corretta
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  10. #10
    Quote Originariamente inviata da Santino83_02 Visualizza il messaggio
    boh, l'unica cosa che mi viene in mente

    Codice PHP:

    $id 
    = isset($_GET['id']) && is_int($_GET['id']) ? (int)$_GET['id'] : 0;

    if(
    $id 0){
    ....
    }else{
    echo 
    "errore";

    ma dovresti assicurarti che il tuo codice lato client richiami correttamente la pagina con la querystring corretta

    Bhe grazie mille lo stesso ma il problema non si risolve, quello che non riesco a capire è perchè se scrivo tutto in un unico file "leggi_articolo.php" senza separare i codici in due file e caricamento tramite .js funziona tutto correttamente.

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.