Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Apertura pagina dipendente da link di provenienza

    Prova a semplificare:

    ho due tipi di link:
    Link1: www.nomedominio.it/pagina.php?campoID=XXX (valore numerico)
    Link2: www.nomedominio.it/pagina.php?nome=Testo (stringa di testo)

    Vorrei fare in modo che la pagina "pagina.php" eseguisse lo script <?php SCRIPT1 ?> quando l'apertura proviende dal link 1, oppure lo script <?php SCRIPT2 ?> quando l'apertura proviene dal link2.

    Premetto che i due script presi singolarmente funzionano. Sia "campoID" che "nome" sono campi dello stesso record.

    Non ho idea di come fare. Penso vada impostato un "if..." ecc., ma non ho idea di come costruirlo

    Potete darmi una mano?
    Grazie.
    www.blogotom.com
    Tecnologia mobile evoluta. News e risorse per cellulari e dispositivi multimediali.

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    Codice PHP:
    <?PHP
    $id 
    $_GET["campoID"];
    $nome $_GET["nome"];
    if (
    $id !== "") {
    SCRIPT 1
    } else if ($nome !=="") {
    SCRIPT 2
    }
    ?>
    Ricevi i valori passati alla pagina, li assegni a due variabili, quindi verifichi quale delle due variabili ha un valore e conseguentemente fai eseguire lo script.
    metatad
    graphic & web design

  3. #3
    ora provo, grazie.
    www.blogotom.com
    Tecnologia mobile evoluta. News e risorse per cellulari e dispositivi multimediali.

  4. #4
    non funge, ti posto il codice così come viene dopo il tuo sugerimento:

    Codice PHP:
    <?PHP
    $id 
    $_GET["photoID"];
    $nome $_GET["photoTitle"];
    if (
    $id !== "") {
    $colname_rsPhoto2 '-1';

    if (isset(
    $_GET['photoID'])) {
      
    $colname_rsPhoto2 = (get_magic_quotes_gpc()) ? $_GET['photoID'] : addslashes($_GET['photoID']);
    }
    mysql_select_db($database_conn$conn);
    $query_rsPhoto2 sprintf("SELECT * FROM tblphotos WHERE photoID = %s"$colname_rsPhoto2);
    $rsPhoto2 mysql_query($query_rsPhoto2$conn) or die(mysql_error());
    $row_rsPhoto2 mysql_fetch_assoc($rsPhoto2);
    $totalRows_rsPhoto2 mysql_num_rows($rsPhoto2);
    }

    else if (
    $nome !=="") {
    $colname_rsPhoto '%';
    if (isset(
    $_GET['photoTitle'])) {
      
    $colname_rsPhoto = (get_magic_quotes_gpc()) ? $_GET['photoTitle'] : addslashes($_GET['photoTitle']);
    }
    mysql_select_db($database_conn$conn);
    $query_rsPhoto sprintf("SELECT * FROM tblphotos WHERE photoTitle = '$photoTitle' "$colname_rsPhoto);
    $rsPhoto mysql_query($query_rsPhoto$conn) or die(mysql_error());
    $row_rsPhoto mysql_fetch_assoc($rsPhoto);
    $totalRows_rsPhoto mysql_num_rows($rsPhoto);
    }
    ?>
    www.blogotom.com
    Tecnologia mobile evoluta. News e risorse per cellulari e dispositivi multimediali.

  5. #5
    In pratica, traducendo il PHP in italiano, vorrei fare così:

    Se la pagina si apre proveniendo da un link che contiene "photoID" esegui lo script1, altrimenti esegui lo script2.
    www.blogotom.com
    Tecnologia mobile evoluta. News e risorse per cellulari e dispositivi multimediali.

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    Si, quello che vuoi ottenere è chiaro...
    Comunque, riguardo al tuo codice: se devi definire il valore della variabile $colname_rsPhoto2 in base alla presenza o meno del valore ricevuto attraverso $_GET['photoID'], che bisogno hai di fare il controllo due volte?
    Con
    Codice PHP:
    $id $_GET["photoID"]; 
    la variabile $id assume il valore ricevuto attraverso $_GET['photoID' ], quindi quando imposti la condizione
    Codice PHP:
    if ($id !== ""
    verifichi se ha un valore o meno, e non vedo a cosa serva fare successivamente
    Codice PHP:
    if (isset($_GET['photoID'])) 
    ...
    Poi, se quello che vuoi sapere è il numero di righe, poiché la variabile $id ha il valore numerico che gli è stato passato attarverso il link alla pagina, mi sembra che basti, più semplicemente,
    Codice PHP:
    $result mysql_query("SELECT * FROM `tblphotos` WHERE `photoID` = '$id'");
    $num_righe mysql_num_rows($result ); 
    Anche se non riesco a cogliere il senso...
    metatad
    graphic & web design

  7. #7
    Cerco di essere più chiaro:

    ho una pagina (anteprima.php) che quando il link contiene photoID si apre con questo codice:

    Codice PHP:
    <?PHP
    $colname_rsPhoto 
    '-1';

    if (isset(
    $_GET['photoID'])) {
      
    $colname_rsPhoto = (get_magic_quotes_gpc()) ? $_GET['photoID'] : addslashes($_GET['photoID']);
    }
    mysql_select_db($database_conn$conn);
    $query_rsPhoto sprintf("SELECT * FROM tblphotos WHERE photoID = %s"$colname_rsPhoto);
    $rsPhoto mysql_query($query_rsPhoto$conn) or die(mysql_error());
    $row_rsPhoto mysql_fetch_assoc($rsPhoto);
    $totalRows_rsPhoto mysql_num_rows($rsPhoto);
    }
    Ho una seconda pagina (anteprima_title.php) che invece funziona con il link di provenienza che interroga photoTitle, e si apre con il seguente codice:

    Codice PHP:
    $colname_rsPhoto '%';
    if (isset(
    $_GET['photoTitle'])) {
      
    $colname_rsPhoto = (get_magic_quotes_gpc()) ? $_GET['photoTitle'] : addslashes($_GET['photoTitle']);
    }
    mysql_select_db($database_conn$conn);
    $query_rsPhoto sprintf("SELECT * FROM tblphotos WHERE photoTitle = '$photoTitle' "$colname_rsPhoto);
    $rsPhoto mysql_query($query_rsPhoto$conn) or die(mysql_error());
    $row_rsPhoto mysql_fetch_assoc($rsPhoto);
    $totalRows_rsPhoto mysql_num_rows($rsPhoto);
    }
    ?> 
    Lo scopo è evitare di avere due file diversi (anteprima.php e anteprima_title.php) che in pratica sono identici (contenuto del database compreso) e che avrei voluto racchiudere in un unico file che esegua alternativamente i due script di apertura a seconda link di provenienza.
    www.blogotom.com
    Tecnologia mobile evoluta. News e risorse per cellulari e dispositivi multimediali.

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    Si, ti ripeto, questo è chiaro...
    Quello che non mi è chiaro è:
    - perchè verificare due volte la sussistenza dello stesso valore?
    - perchè, per avere il numero delle righe di tabella, usare un sistema complicato quando puoi averlo con due sole righe di codice semplice-semplice?
    - a che serve legare questa query a due diverse variabili, che sono ininfluenti rispetto all'esito della query stessa (la fai alla stessa tabella, che quindi avrà lo stesso numero totale di righe, indipendentemente da qualsiasi altro fattore...).
    In ogni caso, la condizione if ... else if è talmente semplice che, se c'è un problema, non è certo nella condizione ma in ciò che viene eseguito in base alla condizione...
    Che errore ti da? Fai un debug. Controlla la correttezza formale del codice (apici, doppi apici, punti e virgola, etc.).
    Fai un semplice test, utilizzando la condizione if ... else if, e mettendo come esecuzione un echo diverso - ad es.:
    Codice PHP:
    <?PHP
    $id 
    $_GET["campoID"];
    $nome $_GET["nome"];
    if (
    $id !== "") {
    echo 
    "ho ricevuto il numero di 'campoID'";
    } else if (
    $nome !=="") {
    echo 
    "ho ricevuto il nome";
    }
    ?>
    Se funziona correttamente, l'errore è negli script che vuoi eseguire.
    metatad
    graphic & web design

  9. #9
    Ciao, grazie per la risposta.
    Ci tengo a precisare che non sono un porgrammatore, mi limito soltanto a personalizzare montare e smontare codici altrui (spesso riesco nei miei intenti in autonomia, altre volte chiedo umilmente aiuto...).
    Ai tuoi perchè non so dare risposta in quanto gli script di cui parliamo, benchè ampiamente rivisitati, non li ho programmati io.
    Per quanto riguarda gli errori, non ho nessun errore. Semplicemente in uno dei due casi (photoID) la pagina risulta vuota nei campi dinamici, mentre nell'altro caso (photoTitle) funziona perfettamente.
    Questo se cerco di includere gli script in un unico file. Se tengo i file distinti funziona tutto.
    www.blogotom.com
    Tecnologia mobile evoluta. News e risorse per cellulari e dispositivi multimediali.

  10. #10
    Ho provato il tuo codice di verifica, in entrambi i casi mi compare "ho ricevuto il numero di 'campoID'"
    www.blogotom.com
    Tecnologia mobile evoluta. News e risorse per cellulari e dispositivi multimediali.

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.