• User

    Richiamare contenuto da tabelle mysql

    buongiorno, ho appena migrato un sito php su un altro hosting e con il relativo nuovo database. prima di ciò, il sito usava lo stesso database di un altro sito dato che era la versione italiana. ho installato il backup di quel database ma alcuni contenuti non vengono visualizzati e l'area riservata non funziona correttamente. ovviamente nel sito trasferito ho settato i nuovi parametri di accesso al nuovo db ma ancora non capisco dove e cosa sbaglio.

    inoltre cosa ho fatto? ho settato la versione php al 5.2 ma ancora nulla

    ecco un esempio pratico di quanto sopra descritto
    engineering.palagio.it/tipologie2.php?category=1 (sito italiano funzionante )
    palagiousa.com/products_detail.php?category=1 (sito trasf. su nuovo hosting)

    spero che riusciate ad illuminarmi, grazie mille.


  • User Attivo

    Puoi postare codice SQL, PHP e tabella?


  • User

    @meis said:

    Puoi postare codice SQL, PHP e tabella?

    non posso postare tutto il codice sql perchè ci sono email all'interno e altri dati sensibili.
    posto la parte relativa alla pagina che vi ho elencato

    ---- Struttura della tabella `PA_prodotti`
    --
    
    
    CREATE TABLE IF NOT EXISTS `PA_prodotti` (
      `id_p` int(11) NOT NULL AUTO_INCREMENT,
      `nome` varchar(200) NOT NULL DEFAULT '',
      PRIMARY KEY (`id_p`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=25 ;
    
    
    --
    -- Dump dei dati per la tabella `PA_prodotti`
    --
    
    
    INSERT INTO `PA_prodotti` (`id_p`, `nome`) VALUES
    (1, 'Terra ONE'),
    (2, 'Terra TWO'),
    (3, 'Terra FLAT'),
    (4, 'Terra MODUS'),
    (5, 'Terra PLUS'),
    (6, 'Terra STRIP'),
    (7, 'Terra BRICK'),
    (8, 'Terra BLOCK'),
    (9, 'Terra SCREEN'),
    (10, 'Terra TUBE'),
    (11, 'Terra OVAL'),
    (12, 'Terra WING'),
    (13, 'Terra SLOPE'),
    (14, 'Terrangle SMOOTH'),
    (15, 'Terraround SMOOTH'),
    (16, 'Terrangle STRIP'),
    (17, 'Terraround STRIP'),
    (18, 'Terrangle EL'),
    (19, 'Terra SILL'),
    (20, 'Marcapiano'),
    (21, 'Lavorazione a quartabono'),
    (22, 'Cornice'),
    (23, 'Bended Terra One'),
    (24, 'Auditorium');
    
    
    -- --------------------------------------------------------
    
    
    
    

    sorgente php

    pastebin.com/RvTbEpkB


  • User Attivo

    Non ho guardato TUTTO il PHP, ma intanto ti consiglio di cambiare tutti i $category in $_GET['category']. Anzi, ancora meglio, all'inizio, dopo l'include del top, metti
    [PHP]
    $category = $_GET['category'];
    [/PHP]

    Dimmi se vedi differenze


  • User

    @meis said:

    Non ho guardato TUTTO il PHP, ma intanto ti consiglio di cambiare tutti i $category in $_GET['category']. Anzi, ancora meglio, all'inizio, dopo l'include del top, metti
    [PHP]
    $category = $_GET['category'];
    [/PHP]

    Dimmi se vedi differenze

    non ci posso credere...funziona! :bigsmile:

    se non ti scoccia mi spiegheresti cosa è successo?


  • User Attivo

    Ci sono 2 modi (se qualcuno di esperto vede che sbaglio mi corregga) di passare informazioni tra le pagine.
    Questi metodi sono chiamati POST e GET.
    Il metodo POST può essere ottenuto grazie ad un formulario, il metodo GET, oltre che da un formulario può essere fatto a mano.
    Nello specifico, quando trovi, nell'URL:
    pagina.estensione?nome=valore&nome2=valore2
    tutto ciò che c'è dopo il "?" viene memorizzato (in PHP) nella variabile $_GET, che è a tutti gli effetti un array associativo, come se avessi scritto:
    $_GET = array("nome" => "valore", "nome2" => "valore2");

    Quindi, visto che nella tua pagina c'è
    ?category=1
    non è $category che ha valore 1, ma $_GET['category'].
    per quanto riguarda il fatto che prima funzionava e ora no, non ne ho la più pallida idea xD


  • User

    ma sopratutto perchè nell'altro hosting funzionava e nel nuovo no, ho anche settato il php alla versione 5.2. c'è da dire che è un sito che è stato fatto davvero tanto tanto tempo fa. cmq grazie davvero

    comunque ho ancora qualche problemino qui palagiousa.com/login/login_en.php?from=

    sorgente pastebin.com/V7ApZpMt


  • User Attivo

    Cosa non è giusto? l'ho confrontato con l'"originale" e mi sembra uguale


  • User

    se provi a fare un login non succede nulla, nè l'accesso nè la segnalazione di errore

    e anche qui purtroppo palagiousa.com/references.php


  • User Attivo

    Non ne sono per nulla sicuro, ma in una riga c'è scritto:
    [PHP]if ($hash==$HTTP_GET_VARS[passwd]){
    user_set_tokens($HTTP_GET_VARS[login],$id_logged);
    header("location: $HTTP_GET_VARS[from]");
    exit;[/PHP]

    Sostituiscilo in
    [PHP]
    if ($hash==$HTTP_GET_VARS[passwd]){
    user_set_tokens($HTTP_GET_VARS[login],$id_logged);
    header("location: ".$_GET['from']);
    exit;
    [/PHP]


  • User

    no, non cambia nulla