Visualizzazione risultati 1 fino 9 di 9

Discussione: confronto di dati in due file .txt prima della scrittura in database.txt

  1. #1
    Guest

    Arrow confronto di dati in due file .txt prima della scrittura in database.txt

    ho creato questo file :

    Codice PHP:
    // preleva dati dal modulo --------------------//

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

    // confronto dati --------//

    $indirizzo = "$iweb";

    $datiweb = @fopen("confrontodati.txt","a+");
    @
    fwrite($datiweb,"$indirizzo"."\n");
    @
    fclose($datiweb);

    $confr = @fopen("confrontodatitemp.txt","w+");
    @
    fwrite($confr,"$indirizzo");
    @
    fclose($confr);

    $confrdati = @file("confrontodatitemp.txt");
    $httpweb = @file("confrontodati.txt");
    $i=count($httpweb);

    for(
    $a=0; $a<=$i; $a++){
    $dato=$httpweb[$a];

    if(
    $dato==$confrdati[0]){
    echo
    "<b>Attenzione: indirizzo web già presente!</b>";

    }

    else{
    //----------------
    $imglink = "http://www.sito.org/img";
    $indirizzo = "<a href=\"$iweb\" title=\"$titolo\" target=\"_blank\">";
    $img = "<img src=\"$imglink/$color.jpg\" alt=\"$titolo\" height=\"8\" width=\"8\" vspace=\"0\" hspace=\"0\" class=\"img\"></a>";

    // salva dati in un file di testo database.txt --------//

    $a = @fopen("database.txt","a+");
    @
    fwrite($a,"$indirizzo$img"."\n");
    @
    fclose($a);

    // header( "location: http://www.sito.org/" );
    //----------------


    }// fine if

    } // fine for
    i dati inseriti in confrontodatitemp.txt e confrontodati.txt
    sono:
    -----------------------
    http://prova.it/
    etc...
    etc...
    etc...


    -----------------------


    questo file dovrebbe salvare dei dati in database.txt, ma prima vorrei fare il controllo dell'indirizzo inserito, attraverso un confronto

    ma l' if() non funziona iperchè inserisce sempre i dati
    qualcuno può dirmi dove sbaglio...???

    PS: il mio PHP non è eccezzionale....!!!

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,246

    Predefinito

    Scusa se mi permetto, ma perché non fai così, invece di usare TRE file?

    Codice PHP:
    // preleva dati dal modulo --------------------//

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

    // confronto dati --------//

    $indirizzo = "$iweb";
    //controllo se l'indirizzo c'é già:
    $array = file("./database.txt");
    if(
    in_array($indirizzo,$array))
    echo
    "<b>Attenzione: indirizzo web già presente!</b>";
    else{
    //salva file in database.txt (a+)
    }// fine if

    } // fine for
    Ciao!
    Ultima modifica di alemoppo : 12-07-2009 alle ore 13.01.34

  3. #3
    Guest

    Predefinito

    grazie alemoppo

    appena posso provo la tua soluzione, e ti faccio sapere
    grazie..!!

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,246

    Predefinito

    Perché, come ti ho detto io non va bene??
    Codice PHP:
    // preleva dati dal modulo --------------------//

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

    // confronto dati --------//

    $indirizzo = "$iweb";
    //controllo se l'indirizzo c'é già:
    $array = file("./database.txt");
    if(
    in_array($indirizzo,$array))
    echo
    "<b>Attenzione: indirizzo web già presente!</b>";
    else
    {
    $stream = fopen("database.txt","a+");
    fwrite($stream,$indirizzo."\n");
    fclose($stream);
    }
    Ciao!

  5. #5
    Guest

    Predefinito

    Perché, come ti ho detto io non va bene??
    questo è quello che ho fatto con il tuo suggerimento:

    Codice PHP:

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

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

    // salvo indirizzo web --------//

    $indirizzo = "$iweb";

    $datiweb = @fopen("./indirizziweb.txt","a+");
    @
    fwrite($datiweb,"$indirizzo"."\n");
    @
    fclose($datiweb);

    //controllo se l'indirizzo c'é già:

    $array = file("./indirizziweb.txt");
    if(
    in_array($indirizzo,$array)){
    echo
    "<b>Attenzione: indirizzo web già presente!</b><div align=\"center\"><a href=\"javascript:history.back();\">Torna indietro</a></div> ";
    }
    else{

    // salva dati database.txt --------//

    $a = @fopen("./database.txt","a+");

    $imglink = "http://www.sito.org/img";
    $indirizzo = "<a href=\"$iweb\" title=\"$titolo\" target=\"_blank\">";
    $img = "<img src=\"$imglink/$color.jpg\" alt=\"$titolo\" height=\"8\" width=\"8\" vspace=\"0\" hspace=\"0\" class=\"img\"></a>";

    @
    fwrite($a,"$indirizzo$img"."\n");
    @
    fclose($a);


    }
    // fine if

    ma non funziona.... , o meglio non capisco perchè salva i dati anche se inserisco indirizzi uguali ????

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,246

    Predefinito

    Prova così:
    Codice PHP:
    // preleva dati dal modulo --------------------//

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

    // salvo indirizzo web --------//

    $indirizzo = "$iweb";

    $datiweb = fopen("./indirizziweb.txt","a+");
    fwrite($datiweb,$indirizzo."\n");
    fclose($datiweb);

    //controllo se l'indirizzo c'é già:

    $array = file("./indirizziweb.txt");
    if(
    in_array($indirizzo."\n",$array)) //oppure prova if(in_array(trim($indirizzo),$array))
    {
    echo
    "<b>Attenzione: indirizzo web già presente!</b><div align=\"center\"><a href=\"javascript:history.back();\">Torna indietro</a></div> ";
    }
    else{

    // salva dati database.txt --------//

    $a = fopen("./database.txt","a+");

    $imglink = "http://www.sito.org/img";
    $indirizzo = "<a href=\"$iweb\" title=\"$titolo\" target=\"_blank\">";
    $img = "<img src=\"$imglink/$color.jpg\" alt=\"$titolo\" height=\"8\" width=\"8\" vspace=\"0\" hspace=\"0\" class=\"img\"></a>";

    fwrite($a,"$indirizzo$img"."\n");
    fclose($a);


    }
    // fine if
    EDIT:

    Comunque secondo me questa riga non funzionerà mai:

    Codice HTML:
    <a href=\"javascript:history.back();\">Torna indietro</a>
    Quindi prova così:

    Codice PHP:
    <a href="<?php echo $_SERVER['HTTP_REFERER']; ?>">Torna indietro</a>
    Almeno funziona anche con javascript disattivato

    Ciao!
    Ultima modifica di alemoppo : 12-07-2009 alle ore 19.08.20

  7. #7
    Guest

    Predefinito

    mi da, anche al primo inserimento, sempre il messaggio :

    Codice PHP:
    echo "<b>Attenzione: indirizzo web già presente!</b><div align=\"center\"><a href=\"javascript:history.back();\">Torna indietro</a></div> ";
    e salva i dati su : indirizziweb.txt

    ci sarà ancora qualche errore

  8. #8
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,246

    Predefinito

    Citazione Originalmente inviato da myrabbit Visualizza messaggio
    mi da, anche al primo inserimento, sempre il messaggio :

    Codice PHP:
    echo "<b>Attenzione: indirizzo web già presente!</b><div align=\"center\"><a href=\"javascript:history.back();\">Torna indietro</a></div> ";
    e salva i dati su : indirizziweb.txt

    ci sarà ancora qualche errore
    Beh, che te lo scriva su indirizziweb.txt è normale...: è la prima cosa che gli fai fare

    Codice PHP:
    $datiweb = fopen("./indirizziweb.txt","a+");
    fwrite($datiweb,$indirizzo."\n");
    fclose($datiweb);
    Infatti non ho capito a cosa serve quel file: il file con i dati è database.txt!, no??

    Ciao!

  9. #9
    Guest

    Predefinito

    ci sono riuscito !!!!

    Codice PHP:
    // preleva dati dal modulo --------------------//

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


    $indirizzo = "$iweb";

    //controllo se l'indirizzo c'é già:

    $array = file("/indirizziweb.txt");
    if(
    in_array("$indirizzo"."\n",$array)){

    echo
    "<b>Attenzione: indirizzo web già presente!</b>";

    }
    else{

    // salvo indirizzo web --------//

    $datiweb = @fopen("/indirizziweb.txt","a+");
    @
    fwrite($datiweb,"$indirizzo"."\n");
    @
    fclose($datiweb);

    // salva dati in un file di testo database.txt --------//

    $a = @fopen("/database.txt","a+");

    $imglink = "http://www.sito.org/img";
    $indirizzo = "<a href=\"$iweb\" title=\"$titolo\" target=\"_blank\">";
    $img = "<img src=\"$imglink/$color.jpg\" alt=\"$titolo\" height=\"8\" width=\"8\" vspace=\"0\" hspace=\"0\" class=\"img\"></a>";

    @
    fwrite($a,"$indirizzo$img"."\n");
    @
    fclose($a);


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

    }// fine if

    il file indirizziweb mi serve per confrontare l'indirizzo inserito nel form e se già presente non verrà più inserito se assente, su database.txt verrà scritto il codice html che poi verra visualizzato

    grazie pre l'aiuto..... a presto se avrò bisogno in futuro mi potrò fidare

    grazie ancora

Regole di scrittura

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