Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Aiuto a realizzare script PHP o Javascript

    Ciao a tutti. Mi chiamo Sonja, e ho un sito in PHP realizzato con WordPress. Vorrei inserire uno script, ma non ne capisco niente e ho bisogno del vostro aiuto. Potete aiutarmi per favore?

    Queste solo le mie "modeste" richieste :-) :
    - quando un utente accede al sito, si deve aprire un IFrame al centro della pagina, 300x400 px.
    - il contenuto dell'IFrame deve essere scelto a caso dallo script stesso scegliendo tra uno dei link presenti nella pagina (circa 5 o 6 link tra cui scegliere);
    - Come sapete un sito in WordPress è composto da diverse pagine PHP (index, page, functions, etc...). In quale di queste dovrei inserire lo script? Va inoltre inserito tra i campi <body> e </body> o in qualke altro punto?
    - inoltre......lo script deve essere criptato... :-)

    - quando gli spider di google etc... accedono al sito, lo script funzionerebbe o no? E' possibile impostarlo in modo che si disabiliti in quel caso?
    - è possibile anke segnalare allo script 3 o 4 indirizzi IP con i quali non deve funzionare?

    Grazie infinite a tutti e a presto...
    Sonja
    La mia mail è sonjanirvana@jumpy.it
    Ciao.

  2. #2

    Re

    Tutto ciò che hai chiesto è posibile, per cominciare ti scrivo un esempio che ti dimostra sia il caricamento in automatico appartire dai valori contenuti in un array, che dai link. I valori dei link li ho pressi dallo stesso arrai.

    <?php
    $array[0] = "http://www.gogle.it" ;
    $array[1] = "http://www.yahoo.it" ;
    $array[2] = "http://www.ebay.it" ;
    $iniSrc = $array[rand(0,2)] ;
    ?>

    '">link

    '">link

    '">link

    <iframe id="myIframe" src="<?php echo $iniSrc ?>" style="border:0px; width:100%; height:100%;"></iframe>
    Siccome puoi vedere, lo script è così tanto semplice da poterlo mettere nella stessa pagina nella quale vuoi caricare questo eframe. Ovviamente i link e l'eframe vanno dentro il body, ma lo script lo puoi mettere dove vuoi, pure prima di tutto l'html, questo, insieme a la domanda che hai fatto "lo script deve essere criptato" hanno la stessa risposta. Il codice PHP si esegue soltanto nel server che ritorna all'utente un codice 100% HTML, l'utente non ha ne la più palida idea di come è capitato niente, devi dare un'occhiata ai concetti basici dei linguaggi dinamici.
    Quando gli spider entrano nel tuo sito vedono essattaente la stesa identica cosa che vede l'utente, cioè quello che il server ritorna come HTML, ripeto, il codice PHP solo vine "visto" ed esseguito dal server, dopo di che il risultato è un puro HTML.
    "E' possibile impostarlo in modo che si disabiliti in quel caso?" devi dare un'occhiata alla variabile $_SERVER del PHP attraverso la quale puoi ottenere informazioni sul browser che stà visitando il sito, non mi sono mai posto il problema ma penso che la soluzioni anda da quelle parti :-)

    "è possibile anke segnalare allo script 3 o 4 indirizzi IP con i quali non deve funzionare?"
    siccome puoi vedere lo scriptino che ho fatto funzina appartide da un array, anzi è soltanto quello, se non ci metti nell'array indirizzi che non vuoi, allora lui non li mette, in ogni caso se tu farai ona cosa diversa da quella comunque si, è posibile, è sempre posibile.

    Be, se non ho chiarito tutti i tuoi dubbi al meno ci ho provato :-)
    Webmaster sitoesitiweb.it

  3. #3
    Prima di tutto lascia che ti invii il mio GRAZIEEEEEEEEEEE virtuale! :quote:

    Visto però che sono proprio una capra in materia, chiariamo un paio di cose:
    - lo script che posso mettere ovunque è quello che inizia per <?php e finisce con ?>, il resto lo devo mettere in body, giusto?
    - leggo che nel tuo codice c'è scritto "onclick", ma se inserisco il tutto nella pagina index, il codice che mi hai scritto apre quindi un iframe automaticamente quando si accede al sito? Ricordavo il codice "onload"...
    - è ottima l'idea dell'array, ma come imposto gli indirizzi IP con i quali non voglio che l'iframe funzioni?

    Grazie ancora!!!


  4. #4
    Ciao se non vuoi utilizzare javascript per far aprire nell'Iframe le pagine basta che dai un name e un id all'Iframe per poi darlo come target ai link, poi per far aprire al caricament della pagina un'altra pagina sull'iframe e non hai la necessità che sia una pagina variabile allora ti basta specificarla nel src dell'iframe:

    codice:
    <iframe id='myFrame' name='myFrame' src='prima_pagina'></iframe>
    Come ti ha detto roilld basta che scrivi direttamente nella pagina tramite l'editor HTML integrato di wp.

    Per quanto riguarda la gestione delle pagine che ti devono o meno "scannare" i vari bot ti rimando alla guida di HTML.it per la creazione del file robots.txt
    Ubuntu rulez!! :P

  5. #5

    Re

    Partiamo da una modifica al codice che ti avevo fatto prima, simotenax non ha torto nel sugerire l'uso dell'HTML ivece che una chiamata a javascript, è bene usare l'HTML finche si può. Quindi appartire da questo ecco una nuova risposta, prima mettiamo il codice che può pure esere isolato dal HTML, quando dico isolato mi referisco a metterlo prima:

    <?php

    $array[0] = "http://www.gogle.it" ;
    $array[1] = "http://www.yahoo.it" ;
    $array[2] = "http://www.ebay.it" ;

    /* prende a caso una delle url */
    $iniSrc = $array[rand(0,2)] ;

    $ipArray[0] = "192.168.1.10" ;
    $ipArray[1] = "192.168.1.11" ;
    $ipArray[2] = "192.168.1.12" ;

    foreach ( $ipArray as $runIpArray )
    {
    /* se l'IP dell'utente è presente nell'array allora $ctrl_IP = "NO" */
    $ctrl_IP = ( $runIpArray == $_SERVER['REMOTE_ADDR'] ) ? "NO" : $ctrl_IP ;
    }

    ?>
    siccome hai visto ho creato un nuovo array per sapere quali sono gli indirizzi IP da escludere, poi percorro detto array e nel caso l'indirizzo IP dell'utente sia uguale a uno di quelli dell'array allora do un valore "NO" a una variabile "$ctrl_IP". E vediamo ora come cambia la nostra uscita HTML:

    link1

    link2

    link3

    <?php if ( $ctrl_IP != "NO" ) { ?>
    <iframe id="myIframe" name="myIframe" src="<?php echo $iniSrc ?>" style="border:0px; width:100%; height:100%;"></iframe>
    <?php } ?>
    In questo modo l'eframe non comparirà se l'utente è incluso nell'array $ipArray; ma attenzione, i link si compaiono, se vuoi adirittura togliere i link allora è suficente mettere pure questi dentro la stessa condizione cioè:

    <?php if ( $ctrl_IP != "NO" ) { ?>
    link1

    link2

    link3
    <?php } ?>
    Se ho capito bene la tua ricchiesta allora sarebbe questa una delle possibili soluzioni.
    Webmaster sitoesitiweb.it

  6. #6
    La cosa sarebbe coì:

    <?php
    $array[0] = "http://www.link1.it" ;
    $array[1] = "http://www.link2.it" ;
    $array[2] = "http://www.link3.it" ;

    /* seleziono accaso uno dei link,
    rand(0,2) perchè l'array arriva a [2]
    l'array potrebbe arrivare a [6] a questo
    punto sarebbe rand(0,6) */
    $iniSrc = $array[rand(0,2)] ;

    $ipArray[0] = "192.168.1.10" ;
    $ipArray[1] = "192.168.1.11" ;
    $ipArray[2] = "192.168.1.12" ;

    foreach ( $ipArray as $runIpArray )
    {
    /* verifico che l'IP arrivata è nel array dove immagazino gli indirizzi IP permessi */
    $ctrl_IP = ( $runIpArray == $_SERVER['REMOTE_ADDR'] ) ? "SI" : $ctrl_IP ;
    }
    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Untitled Document</title>
    </head>

    <body>
    <?php /* condizione che deciderà se visualizzare l'eframe */
    if($ctrl_IP=="SI"){ ?><iframe id="myIframe" src="<?php echo $iniSrc ?>" style="border:0px; width:100%; height:100%;"></iframe><?php } ?>
    </body>
    </html>
    Webmaster sitoesitiweb.it

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.