Visualizzazione risultati 1 fino 29 di 29

Discussione: [PHP/MYSQL] Problema Switch Theme (Plugin PKP)

  1. #1
    Guest

    Post [PHP/MYSQL] Problema Switch Theme (Plugin PKP)

    Ciao a tutti, sto cercando di creare un plugin per PKP, ma ho alcuni problemucci:
    Codice PHP:
    <?php
    // variabili
    $siteurl = "http://www.pkp.netsons.org/demo/";
    $db_host = "mysql4.netsons.org";
    $db_user = "pkp";
    $db_password = "mypwd";
    $db_name = "pkp";



    // inizio mysql
    $tema = $_REQUEST['tema'];

    $db = mysql_connect($db_host, $db_user, $db_password);
    if (
    $db == FALSE)
    die (
    "Errore nella connessione. Verificare i parametri.");

    mysql_select_db($db_name, $db)
    or die (
    "Errore nella selezione del database. Verificare i parametri.");
    $query = "UPDATE global SET layoutcolor = '$tema';";
    if (
    mysql_query($query, $db)) {
    echo
    "Tema Aggiornato!";
    }else{
    echo
    "Errore: Tema non selezionato.";
    }
    // fine mysql
    mysql_close($db);
    ?>
    <?php
    function printLayoutList(){
    global
    $DB;
    $db_host = "mysql4.netsons.org";
    $db_user = "pkp";
    $db_password = "mypwd";
    $db_name = "pkp";
    $lay = mysql_connect($db_host, $db_user, $db_password);
    if (
    $DB == FALSE)
    die (
    "Errore nella connessione. Verificare i parametri nel file config.inc.php");

    mysql_select_db($db_name, $DB)
    or die (
    "Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
    $query = "SELECT layoutcolor FROM global";
    mysql_query($query, $DB)

    echo
    "<select name='tema'>";
    if (
    $handle = opendir('/var/www/netsons.org/pkp/demo/layout')) {
    while (
    false !== ($file = readdir($handle))) {
    if(
    $file != "." && $file != "..") {
    if(
    $file == $lay[0]){
    echo
    "<option value='".$file."' selected>".$file."</option>";
    }
    else{
    echo
    "<option value='".$file."'>".$file."</option>";
    }
    }
    }
    closedir($handle);
    }
    echo
    "</select><br /><input type='submit' value='Vai' name='an' />";
    }
    ?>
    <form action="temavedi.php" name="tema">
    <?php
    printLayoutList
    ();
    ?>
    </form>
    <br />Powererd by PKP
    Ma più troppo non mi fa vedere la pagina..perchè?
    Grazie.Ciao Davide.
    Ricerca gia fatta.Non ho trovato niente.

  2. #2
    Guest

    Predefinito

    non ti fa vedere la pagina perchè c'è un errore nel codice, prova con questo codice, se funziona ti dico che cosa aveva secondo me, poi non so se è giusta la correzione perchè non so bene su cosa lo devi usare

    Codice PHP:
    <?php
    // variabili
    $siteurl = "http://www.pkp.netsons.org/demo/";
    $db_host = "localhost";
    $db_user = "*****";
    $db_password = "*****";
    $db_name = "****";



    // inizio mysql
    $tema = $_REQUEST['tema'];

    $db = mysql_connect($db_host, $db_user, $db_password);
    if (
    $db == FALSE)
    die (
    "Errore nella connessione. Verificare i parametri.");

    mysql_select_db($db_name, $db)
    or die (
    "Errore nella selezione del database. Verificare i parametri.");
    $query = "UPDATE global SET layoutcolor = '$tema';";
    if (
    mysql_query($query, $db)) {
    echo
    "Tema Aggiornato!";
    }else{
    echo
    "Errore: Tema non selezionato.";
    }
    // fine mysql
    mysql_close($db);
    ?>
    <?php
    function printLayoutList(){
    global
    $DB;
    $db_host = "localhost";
    $db_user = "root";
    $db_password = "193627";
    $db_name = "dati";
    $DB = mysql_connect($db_host, $db_user, $db_password);
    if (
    $DB == FALSE)
    die (
    "Errore nella connessione. Verificare i parametri nel file config.inc.php");

    mysql_select_db($db_name, $DB)
    or die (
    "Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
    $query = "SELECT layoutcolor FROM global";
    mysql_query($query, $DB);

    echo
    "<select name='tema'>";
    if (
    $handle = opendir('/var/www/netsons.org/pkp/demo/layout')) {
    while (
    false !== ($file = readdir($handle))) {
    if(
    $file != "." && $file != "..") {
    if(
    $file == $lay[0]){
    echo
    "<option value='".$file."' selected>".$file."</option>";
    }
    else{
    echo
    "<option value='".$file."'>".$file."</option>";
    }
    }
    }
    closedir($handle);
    }
    echo
    "</select><br /><input type='submit' value='Vai' name='an' />";
    }
    ?>
    <form action="temavedi.php" name="tema">
    <?php
    printLayoutList
    ();
    ?>
    </form>
    <br />Powererd by PKP
    Ultima modifica di toolpirateswar : 09-12-2007 alle ore 19.36.48

  3. #3
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,269

    Predefinito

    magari possiamo dire anche dov'era il problema, no ?
    Sim, nel tuo codice apri una connessione con
    Codice PHP:
    $db_host = "mysql4.netsons.org";
    $db_user = "pkp";
    $db_password = "mypwd";
    $db_name = "pkp";
    $lay = mysql_connect($db_host, $db_user, $db_password);
    if (
    $DB == FALSE)
    die (
    "Errore nella connessione. Verificare i parametri nel file config.inc.php");
    in cui metti il risultato in $lay e poi verifichi $DB... forse la prima variabile aveva un nome sbagliato? Quindi
    Codice PHP:
    $lay = mysql_connect($db_host, $db_user, $db_password);
    if (
    $DB == FALSE)
    die (
    "Errore nella connessione. Verificare i parametri nel file config.inc.php");
    più avanti invece, manca un ; in fondo alla riga
    Codice PHP:
    mysql_query($query, $DB)
    In generale, quando uno script php ti da problemi e non ottieni nessun risultato, aggiungi una riga
    Codice PHP:
    error_reporting(E_ALL);
    all'inizio dello script in modo che ti vengano mostrati tutti i messaggi di errore. In questo modo sarà più semplice (per te o per altri) capire dove sia il problema

  4. #4
    Guest

    Predefinito

    non ho scritto gli errori poiche non sapevo se funzionava :D

  5. #5
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,269

    Predefinito

    non eri tu che dovevi scrivere gli errori, era lui

  6. #6
    Guest

    Predefinito

    Citazione Originalmente inviato da dreadnaut Visualizza messaggio
    non eri tu che dovevi scrivere gli errori, era lui
    ops avevo capito male
    Ultima modifica di toolpirateswar : 10-12-2007 alle ore 19.45.52

  7. #7
    Guest

    Predefinito

    Allora il mio problema è questo..
    vorrei che il tema tramite il "$_GET" verresse selezionato es:
    http://sito.com/cartellapkp/index.php?tema=$temascelto
    ma più troppo non ci riesco...
    dopo vorrei che qui:
    Codice:
    <select name='tema'><option name='nometema'>NomeTema</option</select>
    verresse fatto da solo es:
    io ho 3 temi:
    -default (Default)
    -temaciao (TemaCiao)
    -ciaodvd (CiaoDavide)
    come può il php leggerli e magari da un db txt es:
    dbtemi.txt
    Codice:
    nome tema cartella|NomeDelTema
    nomeciao|CiaoDavide
    ...è possibile?Grazie..ciao Davide :)

  8. #8
    L'avatar di makpaolo
    makpaolo non è connesso Utente storico
    Data registrazione
    08-05-2003
    Residenza
    Brescia ( prov.)
    Messaggi
    9,399

    Predefinito

    o mamma ... l'Italiano ... scriviamo con più calma ... verresse non l'ho mai sentito come termine ... comunque ...per esempio ...

    <select name='tema'><option name='nometema'>NomeTema</option</select>
    prova con
    Codice PHP:
    <select name='valoretema'>
    <
    option value ='1'>nometema1</option>
    <
    option value ='2'>nometema2</option>
    <
    option value ='3'>nometema3</option>
    </
    select>
    praticamente assegno un "valore" alla selezione fatta, perciò nella barra avrai
    Codice PHP:
    /index.php?tema=$valoretema
    nel file di testo, se non metti troppo mano alla lista temi e valori ti basta inserire in valore "numerico" del tema, poi con un "switch" o altro recuperare i dati ... esempio
    Codice PHP:
    switch ($valoretema){
    case
    1: $tema="nometema";
    $cartella="nomecartella";
    break;
    case
    2: $tema="nometema2";
    $cartella="nomecartella2";
    break;
    case
    3: $tema="nometema3";
    $cartella="nomecartella3";
    break;
    default:
    $tema="nometemadidefault";
    $cartella="nomecartelladidefault";

    }
    vi sono altre soluzioni, ma così spero sia più chiaro ...
    Ultima modifica di makpaolo : 20-12-2007 alle ore 14.49.21
    Se smetti di imparare e evolverti sei morto dentro

  9. #9
    Guest

    Predefinito

    Allora...io vorrei che questo lo facesse da solo..come lo fa il cms...(pkp)...guarda le cartelle dei temi tramite php e le mostra con
    Codice:
    <select name='valoretema'>
    <option value ='1'>nometema1</option>
    <option value ='2'>nometema2</option>
    <option value ='3'>nometema3</option>
    </select>
    ...è possibile?Grazie..ciao davide :)
    Ps.vi posto quello che sto usando x farvi capire:
    Codice PHP:
    <?php
    // variabili
    $siteurl = "http://www.pkp.netsons.org/demo"; //*Qui metti l'url del tuo sito dove hai installato PKP con lo "/" finale*
    $db_host = "mysql4.netsons.org"; //*L'Host del tuo MySQL (AL 99% è "localhost")*
    $db_user = "pkp"; //*L'User del tuo MySQL*
    $db_password = "*****************"; //*Password dell'User del MySQL*
    $db_name = "pkp"; //*Nome del DataBase dove hai installato PKP*


    include('form.html');

    // dati di cambio
    $tema = $_REQUEST['tema'];


    $db = mysql_connect($db_host, $db_user, $db_password);
    if (
    $db == FALSE)
    die (
    "Errore nella connessione. Verificare i parametri.");

    mysql_select_db($db_name, $db)
    or die (
    "Errore nella selezione del database. Verificare i parametri.");
    $query = "UPDATE global SET layoutcolor = '$tema';";
    if (
    mysql_query($query, $db))
    echo
    "<font color=\"#FFFFFF\"><b>Tema Aggiornato</b></font>";
    else
    echo
    "<font color=\"#FFFFFF\"><b>Errore: Tema non selezionato.</b></font>";

    //endif;
    mysql_close($db);
    ?>
    Demo: www.pkp.netsons.org/demo/
    Ciao! :)

  10. #10
    Ospite Guest

    Predefinito

    Non ho capito se vuoi mostrare automaticamente la lista dei temi disponibili estraendola da un database testuale (come sembrava volessi fare nel post #7) oppure creare il select basandoti sulle cartelle in una determinata directory.
    Nel secondo caso:

    Codice PHP:
    <form method="GET" action="">
    <select name="temi">
    <?

    $dir
    = 'temi'; // la cartella dove si trovano le sottocartelle dei temi

    $glob = glob($dir.'/*',GLOB_ONLYDIR);

    $ndir = count( $glob );

    for(
    $i = 0; $i < $ndir; ++$i){

    echo
    '<option value="'.$i.'">' . basename($glob[$i]) . '</option>';

    }
    ?>
    </select>
    </form>
    Ciao!

  11. #11
    Guest

    Predefinito

    Citazione Originalmente inviato da sIM Visualizza messaggio
    Allora il mio problema è questo..
    vorrei che il tema tramite il "$_GET" verresse selezionato es:
    http://sito.com/cartellapkp/index.php?tema=$temascelto
    ma più troppo non ci riesco...
    dopo vorrei che qui:
    Codice:
    <select name='tema'><option name='nometema'>NomeTema</option</select>
    verresse fatto da solo es:
    io ho 3 temi:
    -default (Default)
    -temaciao (TemaCiao)
    -ciaodvd (CiaoDavide)
    come può il php leggerli e magari da un db txt es:
    dbtemi.txt
    Codice:
    nome tema cartella|NomeDelTema
    nomeciao|CiaoDavide
    ...è possibile?Grazie..ciao Davide :)
    Se vuoi utilizzare questa scelta...
    Codice PHP:
    <?php
    echo "<select name=\"temi\">";
    foreach(
    htmlentities(file("database.txt")) as $rigo) {
    $riga = ltrim(rtrim(explode("|",$rigo)));
    $valoretema = $riga['0'];
    $nometema = $riga['1'];
    echo
    "<option value=\"".$valoretema."\">{$nometema}</option>";
    }
    echo
    "</select>";
    ?>
    così basta che fai nel txt:
    Codice:
    1 | NomeTema1
    2 | AltroTema
    ...
    ciao
    Ultima modifica di NetSkin : 20-12-2007 alle ore 18.35.05

  12. #12
    Ospite Guest

    Predefinito

    Oddio l'uso di quel file() per il maxvalue nel foreach() non è proprio il massimo ( non tanto in questi ma in script più grandi inizia a pesare ;) ).
    Inoltre senza tanti giri io farei semplicemente così:

    Codice PHP:

    <select name="temi">

    <?php
    $db
    = file( 'database.txt' );

    foreach(
    $db as $rigo ) { //da quando htmlentities() si applica ad un array?? :|

    $rigo = explode ( '|' , $rigo ); //da quando rtrim() e ltrim() si applicano ad un array? :|

    $valoretema = trim ( $rigo[ '0' ] ); //trim e ltrim(rtrim()) solo la stessa cosa! semplifichiamoci la vita ;)

    $nometema = trim ( $rigo[ '1' ] ); //trim e ltrim(rtrim()) solo la stessa cosa! semplifichiamoci la vita ;)

    echo '<option value="'.$valoretema.'">'.$nometema.'</option>';

    }
    ?>

    </select>
    Ciao!

  13. #13
    Guest

    Predefinito

    Allora..come posso unire il codice di NetSkin o di probid...a quello mio e fare il "$_GET" del tema?
    Grazie..Ciao Davide :)!

  14. #14
    Guest

    Predefinito

    Citazione Originalmente inviato da probid Visualizza messaggio
    Oddio l'uso di quel file() per il maxvalue nel foreach() non è proprio il massimo ( non tanto in questi ma in script più grandi inizia a pesare ;) ).
    Inoltre senza tanti giri io farei semplicemente così:

    Codice PHP:

    <select name="temi">

    <?php
    $db
    = file( 'database.txt' );

    foreach(
    $db as $rigo ) { //da quando htmlentities() si applica ad un array?? :|

    $rigo = explode ( '|' , $rigo ); //da quando rtrim() e ltrim() si applicano ad un array? :|

    $valoretema = trim ( $rigo[ '0' ] ); //trim e ltrim(rtrim()) solo la stessa cosa! semplifichiamoci la vita ;)

    $nometema = trim ( $rigo[ '1' ] ); //trim e ltrim(rtrim()) solo la stessa cosa! semplifichiamoci la vita ;)

    echo '<option value="'.$valoretema.'">'.$nometema.'</option>';

    }
    ?>

    </select>
    Ciao!
    su l'htmlentities doh!
    cmq trim, non elimina tutti gli spazi? cioè
    Codice PHP:
    <?php
    echo ltrim(rtrim(" io sono mirko "));
    ?>
    da come risultato:
    Codice:
    io sono mirko
    (senza spazi iniziale e finali)
    mentre
    Codice PHP:
    <?php
    echo trim(" io sono mirko ");
    ?>
    non da come risultato:
    Codice:
    iosonomirko
    (senza spazi)
    ..o no?
    ciau

  15. #15
    Ospite Guest

    Predefinito

    No, trim() elimina gli spazi a destra e a sinistra da una stringa.
    E' come usare rtrim ( ltrim ( string $str ) ) ma semplifichiamoci la vita ;)

    Riguardo all'utilizzo di funzioni per stringhe su array avresti potuto fare così:


    Codice PHP:
    <?php
    function trim_array(&$valore)
    {
    $valore = trim($valore);
    }

    array_walk($array, 'trim_array');
    Oppure, ovviamente, usare i vari cicli.

    Ciao!

  16. #16
    Guest

    Predefinito

    E quindi?
    Come faccio a fare questa cosa:
    L'user da il GET all'index.php dicendo:
    index.php?tema=$nometema
    ma l'index.php deve fare alcune cose...
    controllare se la cartella del tema esiste in:
    www.sito.com/layout/
    e aggiornale se la cartella esiste la tabbella scrivendo il "$nometema" e caricarlo o aggiornarlo...
    se invece è falso dice "Il Tema non Esiste."...e viene caricato il tema di default in questo caso: tema1
    Ciao! :)
    Ultima modifica di sIM : 22-12-2007 alle ore 14.17.20

  17. #17
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Codice PHP:
    $tema=$_GET['tema'];
    if (
    file_exists("/membri/sim/layout/{$tema}"))
    echo
    $tema;
    else
    echo
    "Il tema non esiste.";
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  18. #18
    Guest

    Predefinito

    ma l'echo non serve...io devo aggiornare un campo della tabella..
    Ciao! :)

  19. #19
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Allora al posto dell'echo metti:
    Codice PHP:
    mysql_query("UPDATE tabella SET campo='valore' WHERE pinco='pallino'");
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  20. #20
    Guest

    Predefinito

    Mi da errore:
    Codice PHP:
    <?php
    /*
    Copyright 2006,2007 Paolo "pop killer" Di Febbo

    This file is part of PKP (pop killer portal).

    PKP is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    PKP is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with PKP; if not, write to the Free Software
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
    */

    // Include connect library and security library
    include "connect.php";
    include
    "security.php";


    // SELEZIONA TEMA
    $db_host = "mysql4.netsons.org";
    $db_user = "pkp";
    $db_password = "******";
    $db_name = "pkp";

    $db = mysql_connect($db_host, $db_user, $db_password);
    if (
    $db == FALSE)
    die (
    "Errore nella connessione. Verificare i parametri.");

    mysql_select_db($db_name, $db)
    or die (
    "Errore nella selezione del database. Verificare i parametri.");

    $tema=$_GET['tema'];
    if (
    file_exists("/membri/sim/layout/{$tema}"))
    $query = "UPDATE global SET layoutcolor = '$tema';";
    else
    echo
    "Il Tema non Esiste.";

    mysql_close($db);


    // check magic quotes
    check_mqgpc();

    // Initialize database object
    $DB = new database;

    // If user hasn't got auth...
    if(!control_auth()){echo "You are not authorized to view this page.";}
    else{
    check_attack(); // Check if there are attack attempts

    $globalarray = $DB->queryAndFetch("SELECT * FROM global"); //Query DB for global variabiles

    // Includes the content module, the template file and the phpIIS library
    include "content.php";
    include
    "layout/".$globalarray[2]."/html.php";
    include
    "phplib.php";

    $index = ereg_replace("\[\[title\]\]", $globalarray[0], $layout['layout']);
    $index = ereg_replace("\[\[style\]\]", $layout['style'], $index);
    $index = ereg_replace("\[\[menu\]\]", printMenu(), $index);
    $index = ereg_replace("\[\[content\]\]", content_start($globalarray[1]), $index);
    $index = ereg_replace("\[\[credits\]\]", "This website is powered by <a class=\"small\" href=\"http://pkp.sourceforge.net/\">PKP 0.7</a>, made by pop killer and licensed under the GNU GPL license", $index);

    // When the page is complete, interpret eventual php code (made by the user)
    $interpreted_index = phpiis($index);

    echo
    $interpreted_index;

    }

    // Shows website menu
    function printMenu(){
    global
    $DB, $layout;
    $return = "";
    $query = mysql_query("SELECT id,name,tipo FROM category ORDER BY ordine");
    while(
    $echo = mysql_fetch_array($query)){
    if(
    $echo[2] == "1"){
    $html = $DB->queryAndFetch("SELECT text FROM category WHERE id='".$echo[0]."'");
    $CATEGORY = $html[0];
    }
    else{
    $CATEGORY = "<ul>\n";
    $querylink = mysql_query("SELECT id,name,tipo FROM content WHERE category=".$echo[0]." AND tipo<>'1' ORDER BY ordine");
    while(
    $echo2 = mysql_fetch_array($querylink)){
    if(
    $echo2[2] == 2){
    $text = $DB->queryAndFetch("SELECT text FROM content WHERE id=".$echo2[0]." ORDER BY ordine");
    $link = explode(";", $text[0]);
    $CATEGORY .= "<li><a href=\"".$link[1]."\" target=\"".$link[0]."\">".$echo2[1]."</a></li>\n";
    }
    elseif(
    $echo2[2] == 6){
    $CATEGORY .= "<li><a href=\"index.php?act=galleria\">".$echo2[1]."</a></li>\n";
    }
    else{
    $CATEGORY .= "<li><a href=\"index.php?act=".$echo2[0]."\">".$echo2[1]."</a></li>\n";
    }
    }
    $CATEGORY .= "</ul>\n";
    }
    $category_echo = ereg_replace("\[\[title\]\]", $echo[1], $layout['category']);
    $category_echo = ereg_replace("\[\[category\]\]", $CATEGORY, $category_echo);
    $return .= $category_echo;
    }
    return
    $return;
    }

    ?>
    Url: www.pkp.netsons.org/demo/index.php
    Grazie...Ciao! :)
    Ultima modifica di sIM : 22-12-2007 alle ore 19.12.53

  21. #21
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Prova a modificare questo pezzo:
    Codice PHP:
    // SELEZIONA TEMA
    $db_host = "mysql4.netsons.org";
    $db_user = "pkp";
    $db_password = "******";
    $db_name = "pkp";

    $db = mysql_connect($db_host, $db_user, $db_password);
    if (
    $db == FALSE)
    die (
    "Errore nella connessione. Verificare i parametri.");

    mysql_select_db($db_name, $db)
    or die (
    "Errore nella selezione del database. Verificare i parametri.");

    $tema=$_GET['tema'];
    if (
    file_exists("/membri/sim/layout/{$tema}"))
    $query = "UPDATE global SET layoutcolor = '$tema';";
    else
    echo
    "Il Tema non Esiste.";

    mysql_close($db);
    In questo modo:
    Codice PHP:
    // SELEZIONA TEMA
    $db_host = "mysql4.netsons.org";
    $db_user = "pkp";
    $db_password = "******";
    $db_name = "pkp";

    if (isset(
    $_GET['tema']) && trim($_GET['tema'])!="") {
    $db = mysql_connect($db_host, $db_user, $db_password);
    if (
    $db == FALSE)
    die (
    "Errore nella connessione. Verificare i parametri.");
    mysql_select_db($db_name, $db) or die ("Errore nella selezione del database. Verificare i parametri.");

    $tema=mysql_escape_string($_GET['tema']);
    if (
    file_exists("/membri/sim/layout/{$tema}"))
    mysql_query("UPDATE global SET layoutcolor='{$tema}'");
    else
    echo
    "Il Tema non Esiste.";

    mysql_close($db);
    Inoltre visto che sei su Netsons, devi cambiare il percorso dove controlli che il file esiste.
    Esiste una tabella che si chiama "global" e contiene un campo che si chiama "layoutcolor" e basta?
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  22. #22
    Guest

    Predefinito

    Si...siccome non so creare in php una kosa tipo:
    http://pkp.netsons.org/demo/0as55asd123/
    in kui si crea un sito pkp temporaneo kon una skin allora faccio aggiornare la skin principale..è l'unico modo :)


    EDIT: Da errore alla linea 144 (ultima(?>))
    Codice PHP:
    <?php
    /*
    Copyright 2006,2007 Paolo "pop killer" Di Febbo

    This file is part of PKP (pop killer portal).

    PKP is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    PKP is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with PKP; if not, write to the Free Software
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
    */

    // Include connect library and security library
    include "connect.php";
    include
    "security.php";


    // SELEZIONA TEMA
    $db_host = "mysql4.netsons.org";
    $db_user = "pkp";
    $db_password = "*******";
    $db_name = "pkp";

    if (isset(
    $_GET['tema']) && trim($_GET['tema'])!="") {
    $db = mysql_connect($db_host, $db_user, $db_password);
    if (
    $db == FALSE)
    die (
    "Errore nella connessione. Verificare i parametri.");
    mysql_select_db($db_name, $db) or die ("Errore nella selezione del database. Verificare i parametri.");

    $tema=mysql_escape_string($_GET['tema']);
    if (
    file_exists("/var/www/netsons.org/pkp/demo/layout/{$tema}"))
    mysql_query("UPDATE global SET layoutcolor='{$tema}'");
    else
    echo
    "Il Tema non Esiste.";

    mysql_close($db);


    // check magic quotes
    check_mqgpc();

    // Initialize database object
    $DB = new database;

    // If user hasn't got auth...
    if(!control_auth()){echo "You are not authorized to view this page.";}
    else{
    check_attack(); // Check if there are attack attempts

    $globalarray = $DB->queryAndFetch("SELECT * FROM global"); //Query DB for global variabiles

    // Includes the content module, the template file and the phpIIS library
    include "content.php";
    include
    "layout/".$globalarray[2]."/html.php";
    include
    "phplib.php";

    $index = ereg_replace("\[\[title\]\]", $globalarray[0], $layout['layout']);
    $index = ereg_replace("\[\[style\]\]", $layout['style'], $index);
    $index = ereg_replace("\[\[menu\]\]", printMenu(), $index);
    $index = ereg_replace("\[\[content\]\]", content_start($globalarray[1]), $index);
    $index = ereg_replace("\[\[credits\]\]", "This website is powered by <a class=\"small\" href=\"http://pkp.sourceforge.net/\">PKP 0.7</a>, made by pop killer and licensed under the GNU GPL license", $index);

    // When the page is complete, interpret eventual php code (made by the user)
    $interpreted_index = phpiis($index);

    echo
    $interpreted_index;

    }

    // Shows website menu
    function printMenu(){
    global
    $DB, $layout;
    $return = "";
    $query = mysql_query("SELECT id,name,tipo FROM category ORDER BY ordine");
    while(
    $echo = mysql_fetch_array($query)){
    if(
    $echo[2] == "1"){
    $html = $DB->queryAndFetch("SELECT text FROM category WHERE id='".$echo[0]."'");
    $CATEGORY = $html[0];
    }
    else{
    $CATEGORY = "<ul>\n";
    $querylink = mysql_query("SELECT id,name,tipo FROM content WHERE category=".$echo[0]." AND tipo<>'1' ORDER BY ordine");
    while(
    $echo2 = mysql_fetch_array($querylink)){
    if(
    $echo2[2] == 2){
    $text = $DB->queryAndFetch("SELECT text FROM content WHERE id=".$echo2[0]." ORDER BY ordine");
    $link = explode(";", $text[0]);
    $CATEGORY .= "<li><a href=\"".$link[1]."\" target=\"".$link[0]."\">".$echo2[1]."</a></li>\n";
    }
    elseif(
    $echo2[2] == 6){
    $CATEGORY .= "<li><a href=\"index.php?act=galleria\">".$echo2[1]."</a></li>\n";
    }
    else{
    $CATEGORY .= "<li><a href=\"index.php?act=".$echo2[0]."\">".$echo2[1]."</a></li>\n";
    }
    }
    $CATEGORY .= "</ul>\n";
    }
    $category_echo = ereg_replace("\[\[title\]\]", $echo[1], $layout['category']);
    $category_echo = ereg_replace("\[\[category\]\]", $CATEGORY, $category_echo);
    $return .= $category_echo;
    }
    return
    $return;
    }

    ?>
    Ultima modifica di funcool : 22-12-2007 alle ore 20.15.38

  23. #23
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Dopo:
    Codice PHP:
    mysql_close($db);
    Metti:
    Codice PHP:
    }
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  24. #24
    Guest

    Predefinito

    Ok, funziona! :)
    Ma come faccio a fare tipo:
    http://pkpdemo.netsons.org/index.php?tema=wanderer
    mi spunta pagina bianka...devo andare io da solo su
    http://pkpdemo.netsons.org
    ho provato ad inserire...
    Codice PHP:
    if (file_exists("/var/www/netsons.org/pkpdemo/layout/{$tema}"))
    mysql_query("UPDATE global SET layoutcolor='{$tema}'");
    echo
    "<script>location.href=http://pkpdemo.netsons.org/</script>"
    else
    echo
    "Il Tema non Esiste.";

    mysql_close($db);
    }
    ma non funziona..:( vorrei ke quando una persona seleziona il tema vada da solo alla index.php ...
    e dopo quando il tema non esiste vorrei anche che venisse selezionato quello di default...tipo:
    Codice PHP:
    if (file_exists("/var/www/netsons.org/pkpdemo/layout/{$tema}"))
    mysql_query("UPDATE global SET layoutcolor='{$tema}'");
    echo
    "<script>location.href=http://pkpdemo.netsons.org/</script>"
    else

    mysql_query("UPDATE global SET layoutcolor='blue'");

    mysql_close($db);
    }
    Grazie.Ciao Davide :)
    Ultima modifica di sIM : 06-01-2008 alle ore 17.59.40

  25. #25
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Modifica il codice così:
    Codice PHP:
    if (file_exists("/var/www/netsons.org/pkpdemo/layout/{$tema}")) {
    mysql_query("UPDATE global SET layoutcolor='{$tema}'");
    echo
    "<script>location.href=http://pkpdemo.netsons.org/</script>";
    }
    else
    echo
    "Il Tema non Esiste.";
    mysql_close($db);
    }
    Ultima modifica di funcool : 06-01-2008 alle ore 18.08.50
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  26. #26
    Guest

    Predefinito

    Ok, ma quando il tema non esiste voglio la stessa cosa solo che al posto di "{$tema}" voglio blue...è possibile?Grazie.Ciao Davide :)

  27. #27
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Codice PHP:
    if (file_exists("/var/www/netsons.org/pkpdemo/layout/{$tema}"))
    mysql_query("UPDATE global SET layoutcolor='{$tema}'");
    else
    mysql_query("UPDATE global SET layoutcolor='blue'");
    echo
    "<script>location.href=http://pkpdemo.netsons.org/</script>";
    mysql_close($db);
    }
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  28. #28
    Guest

    Predefinito

    Ok..questo:
    Codice PHP:
    else
    mysql_query("UPDATE global SET layoutcolor='blue'");
    Funziona..ma non funzionano i redirect..
    Codice PHP:
    echo "<script>location.href=http://pkpdemo.netsons.org/</script>";
    http://pkpdemo.netsons.org/index.php?tema=wanderer
    http://pkpdemo.netsons.org/index.php?tema=ciaociao
    :(...Grazie.Ciao Davide :)

  29. #29
    Ospite Guest

    Predefinito

    Codice PHP:
    echo "<script type=\"text/javascript\">location.href='http://pkpdemo.netsons.org/';</script>";
    Ciao!

Regole di scrittura

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