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

    nome utente già esistente

    in questo codice raccolgo i dati di un form e li inserisco in una tabella.
    come posso fare per far sì che se il nome utente esiste già nella tabella calendar_users l'inserimento non avviene e mi compaia la scritta in un popup 'nome utente già esistente' ?

    Codice PHP:
    if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
      
    $insertSQL sprintf("INSERT INTO calendar_users (username, password, fname, lname, userlevel, email, hash, telefono, invitoeventi, quotapagata) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
                           
    GetSQLValueString($_POST['username'], "text"),
                           
    GetSQLValueString($_POST['password'], "text"),
                           
    GetSQLValueString($_POST['fname'], "text"),
                           
    GetSQLValueString($_POST['lname'], "text"),
                           
    GetSQLValueString($_POST['userlevel'], "int"),
                           
    GetSQLValueString($_POST['email'], "text"),
                           
    GetSQLValueString($_POST['hash'], "text"),
                           
    GetSQLValueString($_POST['telefono'], "text"),
                           
    GetSQLValueString($_POST['invitoeventi'], "int"),
                           
    GetSQLValueString($_POST['quotapagata'], "int"));
     
      
    mysql_select_db($database_server$server);
      
    $Result1 mysql_query($insertSQL$server) or die(mysql_error());
      
    $insertGoTo "ultimosocioaggiunto.php";
      if (isset(
    $_SERVER['QUERY_STRING'])) {
        
    $insertGoTo .= (strpos($insertGoTo'?')) ? "&" "?";
        
    $insertGoTo .= $_SERVER['QUERY_STRING'];
      }
      
    header(sprintf("Location: %s"$insertGoTo));


  2. #2
    ho provato a modificare il codice così (cerca corrispondenza modulo variabile con riga 'username' e se questa è maggiore di 1 non esegue l'insert) ma non funziona, mi va comunque ad eseguire l'INSERT in tabella:
    Codice PHP:
    $colname_elencousers "-1";
    if (isset(
    $_POST['username'])) {
      
    $colname_elencousers $_POST['username'];
    }
    mysql_select_db($database_server$server);
    $query_elencousers sprintf("SELECT username FROM calendar_users WHERE username = %s"GetSQLValueString($colname_elencousers"text"));
    $elencousers mysql_query($query_elencousers$server) or die(mysql_error());
    $row_elencousers mysql_fetch_assoc($elencousers);
    $totalRows_elencousers mysql_num_rows($elencousers);
     
    $editFormAction $_SERVER['PHP_SELF'];
    if (isset(
    $_SERVER['QUERY_STRING'])) {
      
    $editFormAction .= "?" htmlentities($_SERVER['QUERY_STRING']);
    }
    if (
    $row_elencousers['username']>){
        print (
    "Username già esistente");
    }
     
    else{
     
    if ((isset(
    $_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
      
    $insertSQL sprintf("INSERT INTO calendar_users (username, password, fname, lname, userlevel, email, hash, telefono, invitoeventi, quotapagata) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
                           
    GetSQLValueString($_POST['username'], "text"),
                           
    GetSQLValueString($_POST['password'], "text"),
                           
    GetSQLValueString($_POST['fname'], "text"),
                           
    GetSQLValueString($_POST['lname'], "text"),
                           
    GetSQLValueString($_POST['userlevel'], "int"),
                           
    GetSQLValueString($_POST['email'], "text"),
                           
    GetSQLValueString($_POST['hash'], "text"),
                           
    GetSQLValueString($_POST['telefono'], "text"),
                           
    GetSQLValueString($_POST['invitoeventi'], "int"),
                           
    GetSQLValueString($_POST['quotapagata'], "int"));
     
      
    mysql_select_db($database_server$server);
      
    $Result1 mysql_query($insertSQL$server) or die(mysql_error());
      
    $insertGoTo "ultimosocioaggiunto.php";
      if (isset(
    $_SERVER['QUERY_STRING'])) {
        
    $insertGoTo .= (strpos($insertGoTo'?')) ? "&" "?";
        
    $insertGoTo .= $_SERVER['QUERY_STRING'];
      }
      
    header(sprintf("Location: %s"$insertGoTo));
    }}
    ?> 

  3. #3
    Ciao, premetto che non ho letto i codici che hai scritto, quindi ti faccio un esempio generico.
    Esempio: l'username che viene scritto dall'utente ti arriva in $_POST['username'] e la colonna del DB si chiama username
    potresti semplicemente fare una select e se il risultato è maggiore di 0 vuol dire che esiste.
    Codice PHP:
    $query="SELECT id FROM tabella_utente WHERE username='$_POST[username]'";
    $result=mysql_query($query);
    if(
    mysql_num_rows($result)>0){
        
    // USER ESISTENTE
    }else{
        
    //USER NON ESISTENTE

    P.S. E' buona cosa NON passare alle query le variabili $_POST[] o GET così come sono.

  4. #4
    [QUOTE=frenkytribe;25150855]Ciao, premetto che non ho letto i codici che hai scritto, quindi ti faccio un esempio generico.
    Esempio: l'username che viene scritto dall'utente ti arriva in $_POST['username'] e la colonna del DB si chiama username
    potresti semplicemente fare una select e se il risultato è maggiore di 0 vuol dire che esiste.
    Codice PHP:
    $query="SELECT id FROM tabella_utente WHERE username='$_POST[username]'";
    $result=mysql_query($query);
    if(
    mysql_num_rows($result)>0){
        
    // USER ESISTENTE
    }else{
        
    //USER NON ESISTENTE

    nulla da fare, mi dice sempre che l'utente non esiste mai in tabella e quindi procede ad eseguire l'insert
    Ultima modifica di thenax; 23-11-2013 a 18:27

  5. #5
    Questa è la pagina intera dove ho commentato il codice che non viene digerito...
    Codice PHP:
    <?php
    if (!function_exists("GetSQLValueString")) {
    function 
    GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
    {
      if (
    PHP_VERSION 6) {
        
    $theValue get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
      }
     
      
    $theValue function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
     
      switch (
    $theType) {
        case 
    "text":
          
    $theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
          break;    
        case 
    "long":
        case 
    "int":
          
    $theValue = ($theValue != "") ? intval($theValue) : "NULL";
          break;
        case 
    "double":
          
    $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
          break;
        case 
    "date":
          
    $theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
          break;
        case 
    "defined":
          
    $theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
          break;
      }
      return 
    $theValue;
    }
    }
    $editFormAction $_SERVER['PHP_SELF'];
    if (isset(
    $_SERVER['QUERY_STRING'])) {
      
    $editFormAction .= "?" htmlentities($_SERVER['QUERY_STRING']);
    }
    //$colname_countusers = "-1";
    //if (isset($_POST['username'])) {
    //  $colname_countusers = $_POST['username'];
    //}
    //mysql_select_db($database_server, $server);
    //$query = "SELECT uid, username FROM calendar_users WHERE email = %s";
    //$result=mysql_query($query);
    //if(mysql_num_rows($result)>0){
    //            echo print "ciao";
    //}
    //else
    //{
    if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
      
    $insertSQL sprintf("INSERT INTO calendar_users (username, password, fname, lname, userlevel, email, hash, telefono, invitoeventi, quotapagata) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
                           
    GetSQLValueString($_POST['username'], "text"),
                           
    GetSQLValueString($_POST['password'], "text"),
                           
    GetSQLValueString($_POST['fname'], "text"),
                           
    GetSQLValueString($_POST['lname'], "text"),
                           
    GetSQLValueString($_POST['userlevel'], "int"),
                           
    GetSQLValueString($_POST['email'], "text"),
                           
    GetSQLValueString($_POST['hash'], "text"),
                           
    GetSQLValueString($_POST['telefono'], "text"),
                           
    GetSQLValueString($_POST['invitoeventi'], "int"),
                           
    GetSQLValueString($_POST['quotapagata'], "int"));
     
      
    mysql_select_db($database_server$server);
      
    $Result1 mysql_query($insertSQL$server) or die(mysql_error());
      
    $insertGoTo "ultimosocioaggiunto.php";
      if (isset(
    $_SERVER['QUERY_STRING'])) {
        
    $insertGoTo .= (strpos($insertGoTo'?')) ? "&" "?";
        
    $insertGoTo .= $_SERVER['QUERY_STRING'];
      }
      
    header(sprintf("Location: %s"$insertGoTo));
    }
    //} 
    ?>
    <?PHP
    require("../calendario/config1.php");
    require(
    "../calendario/lang/lang." LANGUAGE_CODE ".php");                                       $id $HTTP_GET_VARS['id'];
    mysql_connect(DB_HOSTDB_USERDB_PASS) or die(mysql_error());
    mysql_select_db(DB_NAME) or die(mysql_error());
    $sql "SELECT id, y, m, d, title, text, dettagli, TIME_FORMAT(start_time, '%k:%i') AS stime, ";
    $sql .= "TIME_FORMAT(end_time, '%k:%i') AS etime, " DB_TABLE_PREFIX "users.uid, fname, lname ";
    $sql .= "FROM " DB_TABLE_PREFIX "mssgs ";
    $sql .= "LEFT JOIN " DB_TABLE_PREFIX "users ";
    $sql .= "ON (" DB_TABLE_PREFIX "mssgs.uid = " DB_TABLE_PREFIX "users.uid) ";
    $sql .= "WHERE priv = 11 AND (y*10000+m*100+d) > ";
    $sql .= "(YEAR(NOW())*10000+MONTH(NOW())*100+DAYOFMONTH(NOW())) ";
    $sql .= "ORDER BY y, m, d, start_time LIMIT 3";
    $result mysql_query($sql) or die(mysql_error());
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head><SCRIPT Language="Javascript">
    /*
                    This script originally written by Eric (Webcrawl@usa.net)
                    downloaded at dynamicdrive.com
                    modified to fit phpEventCalendar by nick77
                    */
                    function printit(){  
                                   if (window.print) {
                                                   window.print() ;
                                   } else {
                                                   var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
                                                   document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
                                                   WebBrowser1.ExecWB(6, 1); //Use a 1 vs. a 2 for a prompting dialog box    WebBrowser1.outerHTML = "";  
                                   }
                    }
    function MM_validateForm() { //v4.0
      if (document.getElementById){
        var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
        for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
          if (val) { nm=val.name; if ((val=val.value)!="") {
            if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
              if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
            } else if (test!='R') { num = parseFloat(val);
              if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
              if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
                min=test.substring(8,p); max=test.substring(p+1);
                if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
          } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
        } if (errors) alert('The following error(s) occurred:\n'+errors);
        document.MM_returnValue = (errors == '');
    } }
    </script>
    <title></title>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    <meta name="keywords" content="Savona, speleologia, corso, grotta, grotte, gruppo speleologico, CAI" />
    <meta name="description" content="Gruppo Grotte CAI di Savona" />
    <link rel="stylesheet" type="text/css" href="../style.css" />
    </head>
     
    <body>
     
     <div id="wrapper">  
       <div class="contenitoreheader">
    <div class="header1"><a href="http://www.caisavona.it" target="_blank"><img src="../images/headersx.jpg" alt="cai savona" width="300" height="148" /></a></div>
    <div class="header2"><a href="../index.php"><img src="../images/headercentrale.png" alt="Gruppo speleologico Grotte CAI Savona" width="490" height="148" /></a></div>
    <div class="header3"><a href="http://www.sns-cai.it" target="_blank"><img src="../images/headerdx.jpg" alt="scuola nazionale di speleologia del CAI" width="320" height="148" /></a></div>
    </div>
     
        <div id="centercolumn">
     
    <p id="marcatore">Amministrazione sito</p>
    <p><br />
      </p>
    <p>Da qui inserisci un nuovo socio (email e username devono sempre coincidere)<br />
    </p>
    <p>&nbsp;</p>
    <p>&nbsp;</p><?php
    // Lunghezza della password da generare
    $lunghezza_password 20;
    for ( 
    $k=1;$k<=$lunghezza_password;$k++ )
    {
    // $k multiplo di 3
    if ( $k )
    {
    // Scegliamo se maiuscola o minuscola
    if ( rand0,200 ) <= 100 )
    {
    // Maiuscola
    // Nella tabella ASCII da 65 a 90 ci sono le lettere dell'alfabeto Maiuscole
    $newpass .= chrrand 65,90 ) );
    }
    else
    {
    // Minuscola
    // Nella tabella ASCII da 97 a 122 ci sono le lettere dell'alfabeto Minuscole
    $newpass .= chrrand 97,122 ) );
    }
    }
    // $k non è multiplo di 3
    else
    {
    // Inseriamo un numero
    $newpass .= rand0,);
    }
    }
    ?>
    <?php
    // Lunghezza della password da generare
    $lunghezza_password 10;
    for ( 
    $k=1;$k<=$lunghezza_password;$k++ )
    {
    // $k multiplo di 3
    if ( $k )
    {
    // Scegliamo se maiuscola o minuscola
    if ( rand0,200 ) <= 100 )
    {
    // Maiuscola
    // Nella tabella ASCII da 65 a 90 ci sono le lettere dell'alfabeto Maiuscole
    $newpass1 .= chrrand 65,90 ) );
    }
    else
    {
    // Minuscola
    // Nella tabella ASCII da 97 a 122 ci sono le lettere dell'alfabeto Minuscole
    $newpass1 .= chrrand 97,122 ) );
    }
    }
    // $k non è multiplo di 3
    else
    {
    // Inseriamo un numero
    $newpass1 .= rand0,);
    }
    }
    ?>
    <form action="<?php echo $editFormAction?>" method="post" id="form2">
       <table>
         <tr valign="baseline">
           <td align="right">Username (email):</td>
           <td><input name="username" type="text" id="username" value="" size="32" /></td>
         </tr>
         <tr valign="baseline">
           <td align="right">Password:</td>
           <td><input name="password" type="password" value="<?php echo $newpass1?>" size="10" readonly="readonly" /> 
           (generata in automatico)</td>
         </tr>
         <tr valign="baseline">
           <td align="right">Nome:</td>
           <td><input name="fname" type="text" id="fname" value="" size="32" /></td>
         </tr>
         <tr valign="baseline">
           <td align="right">Cognome:</td>
           <td><input name="lname" type="text" id="lname" value="" size="32" /></td>
         </tr>
         <tr valign="baseline">
           <td align="right">Tipo di utente:</td>
           <td><select name="userlevel">
             <option value="1" <?php if (!(strcmp(1""))) {echo "SELECTED";} ?>>normale</option>
             <option value="2" <?php if (!(strcmp(0""))) {echo "SELECTED";} ?>>amministratore sito</option>
           </select> 
           </td>
         </tr>
         <tr valign="baseline">
           <td align="right">Email:</td>
           <td><input name="email" type="text" id="email" value="" size="32" /></td>
         </tr>
         <tr valign="baseline">
           <td align="right">Codice antipirateria:</td>
           <td><input name="hash" type="text" value="<?php echo $newpass?>" size="32" readonly="readonly" /></td>
         </tr>
         <tr valign="baseline">
           <td align="right">Telefono:</td>
           <td><input type="text" name="telefono" value="" size="32" /></td>
         </tr>
         <tr valign="baseline">
           <td align="right">Invito ad eventi:</td>
           <td><select name="invitoeventi">
             <option value="1" <?php if (!(strcmp(1""))) {echo "SELECTED";} ?>>SI</option>
             <option value="0" <?php if (!(strcmp(0""))) {echo "SELECTED";} ?>>NO</option>
           </select>
           (SI= abilita la ricezione degli inviti agli eventi)</td>
         </tr>
         <tr valign="baseline">
           <td align="right">Quota pagata:</td>
           <td><select name="quotapagata">
             <option value="1" <?php if (!(strcmp(1""))) {echo "SELECTED";} ?>>SI</option>
             <option value="0" <?php if (!(strcmp(0""))) {echo "SELECTED";} ?>>NO</option>
           </select>
           (NO=disattiva accesso ad area personale per i soci che hanno abbandonato il gruppo)</td>
         </tr>
         <tr valign="baseline">
           <td align="right">&nbsp;</td>
           <td><input type="submit" onclick="MM_validateForm('username','','RisEmail','fname','','R','lname','','R','email','','RisEmail');return document.MM_returnValue" value="Inserisci record" /></td>
         </tr>
       </table>
       <input type="hidden" name="MM_insert" value="form2" />
     </form>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p><a href="index.php">Ritorna al menu principale</a><br />
    </p>
     
       
     
          </div>
       <div id="footer"> <p>  Copyright &copy; 2009 by Gruppo Grotte CAI Savona :: Designed by: Gruppo Grotte CAI Savona</p> </div>
    </div>
     
     <p>&nbsp;</p>
    </body>
    </html>
    <?php
    mysql_free_result
    ($countusers);
    ?>

  6. #6
    Che c'entra WHERE email=%S?
    SELECT uid FROM calendar_users WHERE username=$colname_countusers

  7. #7
    Quote Originariamente inviata da frenkytribe Visualizza il messaggio
    Che c'entra WHERE email=%S?
    SELECT uid FROM calendar_users WHERE username=$colname_countusers
    la tabella ha due colonne, email e username, che sono identici come valore.

  8. #8
    se usi i comportamenti server di dreamweaver vedi che c'è anche quello per verificare gli utenti

    autenticazione utente -> controlla nuovo nome utente

    io mi sono approcciato a fare i primi esperimenti con questi aiutini ma anche se faticoso (almeno per me che lo faccio da pochissimo) da una soddisfazione incredibile scrivere da solo il codice, codice che poi, capisci al volo dopo che lo hai scritto quando lo vai a rileggere.

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.