Visualizzazione risultati 1 fino 12 di 12

Discussione: Problema reindirizzamento

  1. #1
    Guest

    Arrow Problema reindirizzamento

    Ciao raga! Ho un grosso problema che non riesco a risolvere, allora io stò creando una specie di GDR online ma mi è sorto un problema: Praticamente una volta che il mio utente clicca su missione.php dovrebbe essere reindirizzato a missione1.php ( se è arrivato alla 1 ) o missione2.php ( se è arrivato alla 2 ) e così vià.

    ho fatto un nuovo campo chiamato hg_missions ( smallint, NOT NULL, con valore di default " 1 " ) ora questo è il code del mio file missione.php:

    Codice PHP:
    <?php

    define
    ('PUN_ROOT', './');
    require
    PUN_ROOT.'include/common.php';

    $id = isset($_GET['id']) ? intval($_GET['id']) : 0;


    $results = $db->query('SELECT hg_missions FROM '.$db->prefix.'users WHERE id='.$id);

    $num_miss = $db->result($result);

    if(
    $num_miss == '1')header("location: missione1.php");

    if(
    $num_miss == '2')header("location: missione2.php");



    ?>
    ma mi risulta una pagina bianca, mi potete aiutare ?

    [DS] Usa i tag di codice quando ne riporti ampi stralci, si legge meglio!
    Ultima modifica di dementialsite : 16-06-2007 alle ore 17.01.30

  2. #2
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    La causa più probabile è che nessuno degli if venga eseguito, e in altre parole che quello che cerchi di ottenere dal database non è né 1 né 2.

    Prova a ricontrollare i comandi che usi per interrogare il database, perché a vederli così non mi sembrano molto corretti (perché non usi mysql_query e mysql_fetch_array?)...

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  3. #3
    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 modifica i due if in questo modo:
    Codice PHP:
    if($num_miss == '1') {
    header("location: missione1.php");
    exit;
    }
    elseif(
    $num_miss == '2') {
    header("location: missione2.php");
    exit;
    }
    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

  4. #4
    Guest

    Predefinito

    non funziona... che code devo mettere per mysql_query e mysql_fetch_array ??

  5. #5
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Prova ad eseguire così le query:
    Codice PHP:
    $db_host = 'localhost';
    $db_user = '...'; // il tuo nome utente
    $db_pwd = '...'; // la tua password
    $db_name = '...'; // il nome del database
    $db_prefix = '...'; // prefisso delle tabelle del database, se ho capito bene...

    $db = mysql_connect ($db_host, $db_user, $db_pwd) or die ("Impossibile connettersi al db!");
    mysql_select_db ($db_name, $db) or die ("Impossibile selezionare il db!");

    $query = 'SELECT hg_missions FROM '. $db_prefix .'users WHERE id='. $id;
    $result = mysql_query ($query, $db);
    if (
    $line = mysql_fetch_array ($result))
    {
    switch (
    $line['hg_missions'])
    {
    case
    1:
    header ("location: missione1.php");
    break;
    ...
    // altri case analoghi
    default:
    header ("location: ..."); // dove andare se non è un valore tra quelli impostati?
    }
    }
    else
    die (
    "Record non trovato!");
    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  6. #6
    Guest

    Predefinito

    a me dice Record non trovato! non capisco perchè!!

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

    Predefinito

    Probabilmente non ti funziona il codice di Dementialsite perché non includi il file che includevi prima e che conteneva probabilmente anche la connessione e le varie funzioni per utilizzare il database sostituite da Dementialsite.
    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

  8. #8
    Guest

    Predefinito

    Allora dovrebbe essere il file common.php che ha questo code:

    Codice:
    <?php
    /***********************************************************************
    
      Copyright (C) 2002-2005  Rickard Andersson (rickard@punbb.org)
    
      This file is part of PunBB.
    
      PunBB 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.
    
      PunBB 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 this program; if not, write to the Free Software
      Foundation, Inc., 59 Temple Place, Suite 330, Boston,
      MA  02111-1307  USA
    
    ************************************************************************/
    
    // Enable DEBUG mode by removing // from the following line
    //define('PUN_DEBUG', 1);
    
    // This displays all executed queries in the page footer.
    // DO NOT enable this in a production environment!
    //define('PUN_SHOW_QUERIES', 1);
    
    if (!defined('PUN_ROOT'))
    	exit('The constant PUN_ROOT must be defined and point to a valid PunBB installation root directory.');
    
    
    // Load the functions script
    require PUN_ROOT.'include/functions.php';
    
    // Reverse the effect of register_globals
    unregister_globals();
    
    
    @include PUN_ROOT.'config.php';
    
    // If PUN isn't defined, config.php is missing or corrupt
    if (!defined('PUN'))
    	exit('The file \'config.php\' doesn\'t exist or is corrupt. Please run <a href="install.php">install.php</a> to install PunBB first.');
    
    
    // Record the start time (will be used to calculate the generation time for the page)
    list($usec, $sec) = explode(' ', microtime());
    $pun_start = ((float)$usec + (float)$sec);
    
    // Make sure PHP reports all errors except E_NOTICE. PunBB supports E_ALL, but a lot of scripts it may interact with, do not.
    error_reporting(E_ALL ^ E_NOTICE);
    
    // Turn off magic_quotes_runtime
    set_magic_quotes_runtime(0);
    
    // Strip slashes from GET/POST/COOKIE (if magic_quotes_gpc is enabled)
    if (get_magic_quotes_gpc())
    {
    	function stripslashes_array($array)
    	{
    		return is_array($array) ? array_map('stripslashes_array', $array) : stripslashes($array);
    	}
    
    	$_GET = stripslashes_array($_GET);
    	$_POST = stripslashes_array($_POST);
    	$_COOKIE = stripslashes_array($_COOKIE);
    }
    
    // Seed the random number generator
    mt_srand((double)microtime()*1000000);
    
    // If a cookie name is not specified in config.php, we use the default (punbb_cookie)
    if (empty($cookie_name))
    	$cookie_name = 'punbb_cookie';
    
    // Define a few commonly used constants
    define('PUN_UNVERIFIED', 32000);
    define('PUN_ADMIN', 1);
    define('PUN_MOD', 2);
    define('PUN_GUEST', 3);
    define('PUN_MEMBER', 4);
    
    
    // Load DB abstraction layer and connect
    require PUN_ROOT.'include/dblayer/common_db.php';
    
    // Start a transaction
    $db->start_transaction();
    
    // Load cached config
    @include PUN_ROOT.'cache/cache_config.php';
    if (!defined('PUN_CONFIG_LOADED'))
    {
    	require PUN_ROOT.'include/cache.php';
    	generate_config_cache();
    	require PUN_ROOT.'cache/cache_config.php';
    }
    
    
    // Enable output buffering
    if (!defined('PUN_DISABLE_BUFFERING'))
    {
    	// For some very odd reason, "Norton Internet Security" unsets this
    	$_SERVER['HTTP_ACCEPT_ENCODING'] = isset($_SERVER['HTTP_ACCEPT_ENCODING']) ? $_SERVER['HTTP_ACCEPT_ENCODING'] : '';
    
    	// Should we use gzip output compression?
    	if ($pun_config['o_gzip'] && extension_loaded('zlib') && (strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== false || strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'deflate') !== false))
    		ob_start('ob_gzhandler');
    	else
    		ob_start();
    }
    
    
    // Check/update/set cookie and fetch user info
    $pun_user = array();
    check_cookie($pun_user);
    
    // Attempt to load the common language file
    @include PUN_ROOT.'lang/'.$pun_user['language'].'/common.php';
    if (!isset($lang_common))
    	exit('There is no valid language pack \''.pun_htmlspecialchars($pun_user['language']).'\' installed. Please reinstall a language of that name.');
    
    // Check if we are to display a maintenance message
    if ($pun_config['o_maintenance'] && $pun_user['g_id'] > PUN_ADMIN && !defined('PUN_TURN_OFF_MAINT'))
    	maintenance_message();
    
    
    // Load cached bans
    @include PUN_ROOT.'cache/cache_bans.php';
    if (!defined('PUN_BANS_LOADED'))
    {
    	require_once PUN_ROOT.'include/cache.php';
    	generate_bans_cache();
    	require PUN_ROOT.'cache/cache_bans.php';
    }
    
    // Check if current user is banned
    check_bans();
    
    
    // Update online list
    update_users_online();
    il file config.php contiene tutte le impostazioni per la connessione al database, ma non riesco a fare questo benedetto file missione.php... altri aiuti ?

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

    Predefinito

    Il file "missione.php" si trova nella stessa cartella in cui si trova la cartella "include"?
    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

  10. #10
    Guest

    Predefinito

    no si trova nella root e il file common.php si trova in include/

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

    Predefinito

    Quello l'ho capito, ma il file "missione.php" si trova nella stessa cartella in cui si trova la cartella "include"?
    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

  12. #12
    Guest

    Predefinito

    è si... la cartella include è nella root e nella root c'è il file missione.php :D

    ora ho fatto in questo modo:

    questo è il file che setta al id del utente la missione 2:

    liv01a.php

    Codice:
    <?php
    	
    define('PUN_ROOT', './');
    require PUN_ROOT.'include/common.php';
    
    if ($pun_user['g_read_board'] == '0')
    	message($lang_common['No view']);
    	
    $page_title = pun_htmlspecialchars($pun_config['o_board_title'].' - Livello Completato');
    define('PUN_ALLOW_INDEX', 1);
    require PUN_ROOT.'header.php';
    $now = time();
    
    
    $db->query('UPDATE '.$db->prefix.'users SET hg_missions=2 WHERE id='.$pun_user['id'].' LIMIT 1');
    
    header('location: game.php');
          
    ?>
    e questo dovrebbe essere il file che reindirizza in base al numero settato :

    Codice:
    <?php
    
    define('PUN_ROOT', './');
    require PUN_ROOT.'include/common.php';
    
    if ($pun_user['g_read_board'] == '0')
    	message($lang_common['No view']);
    	
    $page_title = pun_htmlspecialchars($pun_config['o_board_title'].' - Livello Completato');
    define('PUN_ALLOW_INDEX', 1);
    require PUN_ROOT.'header.php';
    $now = time();
    
    $results = $db->query('SELECT hg_missions FROM '.$db->prefix.'users WHERE id='.$pun_user['id'].' LIMIT 1');
    
    $num_miss = $db->result($result);
    
    if ($num_miss == 1 ) header("location: missione1.php");
    
    if ($num_miss == 2 ) header("location: missione2.php");
    
    ?>
    ecco quest'ultimo no funziona, e non capisco perchè
    Ultima modifica di iht : 17-06-2007 alle ore 17.46.46

Regole di scrittura

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