Visualizzazione risultati 1 fino 5 di 5

Discussione: php verificare lo stato di un link

  1. #1
    Guest

    Arrow php verificare lo stato di un link

    salve a tutti e buona domenica..

    Sto implementando un mio file php, che mi salva dei dati su file di testo tramite form, con un controllo per la verifica dello stato del link, prima di salvare i dati.

    in pratica ho un form dove si inseriscono i dati tra cui l'indirizzo web dell'utente:

    es: http://www.sito-utente.it

    una vola compilato il form e cliccato sul bottone di inserimento
    un file.php, fa vari controlli dei dati e se le condizioni sono soddisfatte li salva in un file.txt.

    il primo dei controlli dovrebbe verificare lo stato del link inserito se il link esiste va avanti...


    Codice PHP:
    session_start();

    // preleva dati dal modulo --------------------//

    $iweb .= trim(stripslashes($_POST["web"]));
    $color .= trim(stripslashes($_POST["colore"]));
    $titolo .= trim(stripslashes($_POST["title"]));
    $descriz .= trim(stripslashes($_POST["descr"]));

    $file = @file("file.txt");
    @
    fclose($file);
    $i=count($file);


    //-- QUESTO E' IL CONTROLLO DEL LINK

    # Uso fopen per aprire il file specificato nella variabile $iweb
    $fp = @fopen($iweb, "r");

    # Se il file NON esiste stampo il messaggio di errore...
    if (!$fp) {
    echo
    "Il Link non esiste!";
    }
    # ...altrimenti do conferma!
    else {

    // continua .......




    }
    ho provato ma non funziona in quanto mi da sempre come risposta " link non esiste! "

    qualcuno sa dirmi dove sbaglio...!!???


    grazie
    Ultima modifica di pixalinks : 09-08-2009 alle ore 09.53.28

  2. #2
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,234

    Predefinito

    In pratica gli URL Wrapper su AlterVista sono disabilitati quindi devi utilizzare fsockopen() o cURL (dopo aver eliminato le restrinzioni nel pannello ovviamente altrimenti puoi connetterti solo a determinati siti), un esempio è il seguente:

    Codice PHP:
    //-- QUESTO E' IL CONTROLLO DEL LINK

    # Uso fopen per aprire il file specificato nella variabile $iweb
    $fp = @fsockopen($iweb, 80);

    # Se il file NON esiste stampo il messaggio di errore...
    if (!$fp) {
    echo
    "Il Link non esiste!";
    }
    # ...altrimenti do conferma!
    else {

    // continua .......




    }
    Apprezzi l'aiuto? Offrimi un caffè!

  3. #3
    Guest

    Predefinito

    In pratica gli URL Wrapper su AlterVista sono disabilitati quindi devi utilizzare fsockopen() o cURL (dopo aver eliminato le restrinzioni nel pannello ovviamente altrimenti puoi connetterti solo a determinati siti), un esempio è il seguente:
    grazie miki

    come elimino le restrizioni..? puoi indicarmi come perchè sul pannello non trovo nulla..!!

    edit: ho provato con fsockopen() senza togliere le restrizioni e questa volta continua lo script anche quando un link non esiste..

    dipende dalle restrizioni ???
    Ultima modifica di pixalinks : 09-08-2009 alle ore 10.29.41

  4. #4
    Guest

    Predefinito

    Vai nel pannello e Risorse&Upgrades attiva la connessione Server To Server

    Poi dipende anche se il sito non ha inblacklist i server di altervista, perchè ci sono stati casi di questo genere

  5. #5
    Guest

    Predefinito

    grazie per l'indicazione..

    ma nel caso in cui il sito abbia in blacklist i server .... cosa succede?
    al massimo mi dovrebbe dare la risposta " link non esiste " ???


    edit: ho fatto questo...

    Codice PHP:
    session_start();

    // preleva dati dal modulo --------------------//

    $iweb .= trim(stripslashes($_POST["web"]));
    $color .= trim(stripslashes($_POST["colore"]));
    $titolo .= trim(stripslashes($_POST["title"]));
    $descriz .= trim(stripslashes($_POST["descr"]));


    //-----------------------------------------------//

    // controllo l'esistenza del link inserito

    $fp = @fsockopen("$iweb", 80, $errno, $errstr, 10);

    // Se il link non esiste stampo il messaggio di errore...

    if (!$fp) {
    echo
    "<b>(error. link) <font color=\"#ff0000\">Attenzione:</font> il link non esiste! </b><br> tra 4 secondi ritornerai alla home.";
    fclose($fp);
    header( "Refresh:4;url=http://www.pixalinks.altervista.org/");
    exit();
    }
    // ...altrimenti continua controllo

    #else {

    .
    .
    .
    .
    continua

    }

    ma anche quando la variabile $iweb passa come valore un link inesistente non si blocca.. come mai????
    qualcuno mi sa aiutare??

    grazie in anticipo!!
    Ultima modifica di pixalinks : 10-08-2009 alle ore 18.44.26

Regole di scrittura

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