Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. Stampare dati su file txt: impedire l'inserimento multiplo
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • samyorn
      samyorn Consiglio Direttivo • ultima modifica di

      Allora proverei intanto se funziona con una sola riga ed un solo elemento così da testare il codice, poi vediamo se il problema è il passaggio della riga. 😉

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • C
        cybergiaggia User • ultima modifica di

        Ho provato a inserire la prima riga ma, se provo a inserire gli stessi dati, mi scrive anche la seconda riga...
        Ho provato anche a eliminare l'"a capo" nel controllo (\n) ma non succede niente...
        :mmm:

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • samyorn
          samyorn Consiglio Direttivo • ultima modifica di

          Prova allora ad esplodere la riga in modo da ottenere l'indirizzo email (fai un substring con -1 per togliere il segno di a capo) e poi confronti solo quello.

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • C
            cybergiaggia User • ultima modifica di

            Ho risolto così: ho spostato gli stripslashes prima del controllo...grazie!
            😉

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • C
              cybergiaggia User • ultima modifica di

              Ma se adesso volessi impedire l'inserimento multiplo del solo campo 'email'???
              Lo SCRIPT sarebbe una cosa del tipo:

              [php]for ( $key = 0; $key < count($lines); $key++ ) {
              if ( $lines[$key] == ($_POST['var1'] . " " . $_POST['var2'] . " - " . $_POST['var3'] . " - " . $_POST['var4'])) {
              $found = 1;
              }
              elseif ( $lines[$key] == ($_POST['var4'])) {
              $found = 2;
              }
              }[/php]

              Ma mi va in errore...
              😞

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • samyorn
                samyorn Consiglio Direttivo • ultima modifica di

                Ciao cybergiaggia, fai attenzione alle maiscole, è ricordato anche nel campo di risposta. 😉

                Dovresti esplodere $lines[$key] per ottenere la sola stringa dell'email e poi confrontare quella. 😉

                Come hai fatto tu confronti l'intera riga con la sola email.

                Oppure potresti utilizzare un eregi() o, essendo deprecata come funzione, meglio stripos().

                Utilizzando stripos($lines[$key], $_POST['var4']) se il risultato è diverso da false allora hai trovato una mail duplicata. 😉

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • C
                  cybergiaggia User • ultima modifica di

                  grazie!
                  pare che la cosa funzioni: l'inserimento della email già inserita non è consentito...
                  anche se adesso non funziona l'ipotesi 'found==1' ovvero mi permette l'inserimento multiplo di 'nome cognome - email'

                  :mmm:

                  SCRIPT
                  [php]for ( $key = 0; $key < count($lines); $key++ ) {
                  if ( $lines[$key] == ($_POST['var1'] . " " . $_POST['var2'] . " - " . $_POST['var3'])) {
                  $found = 1;
                  }
                  elseif ( stripos($lines[$key], $_POST['var3'])) {
                  $found = 2;
                  }
                  }
                  [/php]

                  REPLAY
                  [php] if ($found==1){
                  echo "<br><b>Attenzione!</b><br>Dati già inseriti.<br><br>";
                  }
                  if ($found==2){
                  echo "<br><b>Attenzione!</b><br>Email già utilizzata.<br><br>";
                  }
                  elseif ( $f = fopen($filelocation, "a+") ) {
                  fwrite($f, $_POST['var1'] . " " . $_POST['var2'] . " - " . $_POST['var3'] . "\n");
                  fclose($f);
                  echo "<div align="center">".$subscribecall."</div><br><br><br><br>";
                  }
                  [/php]

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • samyorn
                    samyorn Consiglio Direttivo • ultima modifica di

                    Dato che vuoi fare due diversi controlli, puoi utilizzare lo stesso sistema solo per nome e cognome. 😉

                    [php] if ( stripos($lines[$key],($_POST['var1']." ".$_POST['var2']) )) {[/php]

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • C
                      cybergiaggia User • ultima modifica di

                      Mmmh,
                      grazie Samyorn ma così impedirei a due o più omonimi di inserire i loro dati, ovvero a partire dal secondo di essi...
                      Ad esempio:
                      mario bianchi - mariobianchiATemail.it impedirebbe l'inserimento a

                      mario bianchi - bianchimarioATemail.it

                      :mmm:

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • samyorn
                        samyorn Consiglio Direttivo • ultima modifica di

                        Allora aggiungi a seguire anche l'indirizzo mail. 🙂

                        [php] if ( stripos($lines[$key],($_POST['var1']." ".$_POST['var2']." - ".$_POST['var3']) )) { [/php]</span>

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • C
                          cybergiaggia User • ultima modifica di

                          Siiiiiiiiiiiiii, risolto!!!
                          Grazie!!!
                          :vaiii:

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          Caricamento altri post
                          Rispondi
                          • Topic risposta
                          Effettua l'accesso per rispondere
                          • Da Vecchi a Nuovi
                          • Da Nuovi a Vecchi
                          • Più Voti