Visualizzazione dei risultati da 1 a 9 su 9

Discussione: update con funzione

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,803

    update con funzione

    salve ragazzi ho fatto una funzione che seleziona da tre tabelle gli staff , i dipartimenti assegniati agli staff e la fira , adesso io il controllo del campo obligatorio l ho messo solo al nome, però mi modifica la password ugualmente perche

    posto la funzione :
    Codice PHP:

    function UpdateStaffFromId($staffid,$nome,$cognome,$username,$email,$password,$enabled,$gruppostaff,$mobilenumber,$signature,$assdepart)
    {
     global 
    $dbcore ;

     
    $sql mysql_query("update tech set 
                                         groupid = '
    $gruppostaff',
                                         nome = '
    $nome',
                                         cognome = '
    $cognome',
                                         username = '
    $username',
                                         password = '
    $password',
                                         email = '
    $email',
                                         mobilenumber = '
    $mobilenumber',
                                         lastchange = '"
    .time()."',
                                         enabled = '
    $enabled'
                                         where staffid = "
    $staffid ."
                                        "
    )or die (mysql_error());
              if(!
    $sql)
              {
             
    // exit();
              
    return false;
              }
              if(!
    $staffid)
              {
             
    // exit();
              
    return false;
              }
                  
    $query mysql_query("update  techsignatures  set signature = '$signature' where staffid = "$staffid ." ") or die (mysql_error());
              if(!
    $query)
              {
             
    // exit();
              
    return false;
              }
              if(!
    $staffid)
              {
             
    // exit();
              
    return false;
              }
              
    $querycontr mysql_query("select * from techassigns where staffid = "$staffid ."")or die(mysql_error());
              
    $result mysql_num_rows($querycontr);
              if(
    count($result) !=0){
              
    $querydel mysql_query("delete from techassigns where staffid = ".$staffid." ")or die(mysql_error());
              if(!
    $querydel)
              {
             
    // exit();
              
    return false;
              }
              }
            if(!
    is_array($assdepart))
            {
                
    //exit();
                
    return false;
            }
            if(
    count($assdepart)==0)
            {
            
    //exit();
                
    return false;
            }
            if(!
    $staffid)
            {
            
    //exit();
                
    return false;
            }
            for(
    $i=0$i <count($assdepart); $i++ )
            {
                 
    $queryas mysql_query("replace into  techassigns (techassignsid ,departid ,staffid )values(null,"$assdepart[$i] .","$staffid .") ")or die(mysql_error());
            }
            if(!
    $queryas)
            {
            
    //exit();
                
    return false;
            }
         return 
    true;

    e posto la pagina dove c, e l update

    Codice PHP:
    if(isset($_POST['action'])and ($_POST['action']=='editstaff'))
    {
    if(!isset(
    $_POST['nome'])){$nome='';}else{$nome trim(addslashes($_POST['nome']));}
    if(!isset(
    $_POST['cognome'])){$cognome='';}else{$cognome trim(addslashes($_POST['cognome']));}
    if(!isset(
    $_POST['username'])){$username='';}else{$username trim(addslashes($_POST['username']));}
    if(!isset(
    $_POST['email'])){$email='';}else{$email trim(addslashes($_POST['email']));}
    if(!isset(
    $_POST['password'])){$password='';}else{$password trim(addslashes($_POST['password']));}
    if(!isset(
    $_POST['enabled'])){$enabled='';}else{$enabled intval($_POST['enabled'])?1:0;}
    if(!isset(
    $_POST['gruppostaff'])){$gruppostaff='';}else{$gruppostaff intval($_POST['gruppostaff']);}
    if(!isset(
    $_POST['mobilenumber'])){$mobilenumber='';}else{$mobilenumber trim(addslashes($_POST['mobilenumber']));}
    if(!isset(
    $_POST['signature'])){$signature='';}else{$signature trim(addslashes($_POST['signature']));}
    if(!isset(
    $_POST['assdepart'])){$assdepart='';}else{$assdepart $_POST['assdepart'];}
    if(!isset(
    $nome) or $nome ==''){
    $smarty->assign('messageerrortrue' true);
    $smarty->assign('errormessage' 'One of the required field(s) is empty ' );
    }
    else{


    $pass $password;
    $password md5($password);




    $updatestaff UpdateStaffFromId($staffid,$nome,$cognome,$username,$email,$password,$enabled,$gruppostaff,$mobilenumber,$signature,$assdepart);
    if(
    $updatestaff)
    {
    $smarty->assign('messageerrorfalse' true);
    $smarty->assign('infomessage' 'Staff [b][/b] inserted successfully' );
    }
    else{
    $smarty->assign('messageerrortrue' true);
    $smarty->assign('errormessage' 'errore' );

    }



    }

    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,803
    secondo voi perche posta password?
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,803
    ragazzi ma e possibile che se il valore password e vuoto mi inserisce una password sempre uguale , ho fatto in print_r($_POST); e mi da valore vuoto
    codice:
    Array
    (
        [action] => editstaff
        [nome] => xxxxx
        [cognome] => xxxxx
        [username] => rocco.mod
        [email] => rocco.ch@xxxxx.it
        [password] => 
        [enabled] => 1
        [gruppostaff] => 3
        [mobilenumber] => +390278031005
        [signature] => 
        [assdepart] => Array
            (
                [0] => 1
            )
    
        [input] => Update 
    )
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,803
    ragazzi non mi sapete dire perche cambia automaticamente la password nel db anche se non la inserisco se ne crea una lui sempre uguale perche???????????


    ho anche messo che se posta la variabile password se e vuota per sicurezza la deve unsettare ma niente da fare mi fa l update ugualmente
    Codice PHP:
    if(isset($_POST['password'])){$password trim(addslashes($_POST['password']));}else{unset($_POST['password']); } 
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  5. #5
    Utente di HTML.it L'avatar di brodik
    Registrato dal
    Jan 2009
    Messaggi
    765
    ma con cosa te la cambia? cioè che valore assume?

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,803
    nessun valore assume come puoi vedere dall print_r($_POST); pero mi modifica la passwod
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,803
    ciao ho notato una cosa : tirando via la criptazione md5 mi da vuoto , inoltre se io aggiorno il un altro campo d input e non scrivo niente nella password la password mi si cancella
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,803
    una cosa e certa che sono riuscito a risalire alla password e non e altro che uno spazio , ma da dove???
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,803
    comunque i dirò che certe volte si perde tanto tempo sul ragionare su come una cosa e giusto farla, solo adesso che qui dove mi trovo io sono le 02:41 mi e arrivata un idea sara poco sicura, ma la stò testando in locale e funziona ------------ vi faccio vedere bastava inserire una doppia query con una condizione precedente

    questa funzione in teoria fa l update di tre tabelle secondo voi com' è questa funzione?????
    Codice PHP:

        
    /**
        * Update  tech && techassigns && techsignatures
        */
    function UpdateStaffFromId($staffid,$nome,$cognome,$username,$email,$password,$enabled,$gruppostaff,$mobilenumber,$signature,$assdepart)
    {
        global 
    $dbcore ;
          if(empty(
    $staffid))
           {
             
    // exit();
              
    return false;
           }
          if(empty(
    $password))
           {
     
    $sql mysql_query("update `tech` set `groupid` = '$gruppostaff',`nome` = '$nome',`cognome` = '$cognome',`username` = '$username',`email` = '$email',`mobilenumber` = '$mobilenumber',`lastchange` = '"time() ."',`enabled` = '$enabled'  where `staffid` = "$staffid ." limit 1")or die (mysql_error());
            }else{ 
     
    $sql mysql_query("update `tech` set `groupid` = '$gruppostaff',`nome` = '$nome',`cognome` = '$cognome',`username` = '$username',`password` = '".md5($password)."',`email` = '$email',`mobilenumber` = '$mobilenumber',
    `lastchange` = '"
    time() ."',`enabled` = '$enabled'  where `staffid` = "$staffid ." limit 1")or die (mysql_error());
             }
             
              if(!
    $sql)
              {
             
    // exit();
              
    return false;
              }
              if(!
    $staffid)
              {
             
    // exit();
              
    return false;
              }
                  
    $query mysql_query("update  techsignatures  set signature = '$signature' where staffid = "$staffid ." ") or die (mysql_error());
              if(!
    $query)
              {
             
    // exit();
              
    return false;
              }
              if(!
    $staffid)
              {
             
    // exit();
              
    return false;
              }
              
    $querycontr mysql_query("select * from techassigns where staffid = "$staffid ."")or die(mysql_error());
              
    $result mysql_num_rows($querycontr);
              if(
    count($result) !=0){
              
    $querydel mysql_query("delete from techassigns where staffid = ".$staffid." ")or die(mysql_error());
              if(!
    $querydel)
              {
             
    // exit();
              
    return false;
              }
              }
            if(!
    is_array($assdepart))
            {
                
    //exit();
                
    return false;
            }
            if(
    count($assdepart)==0)
            {
            
    //exit();
                
    return false;
            }
            if(!
    $staffid)
            {
            
    //exit();
                
    return false;
            }
            for(
    $i=0$i <count($assdepart); $i++ )
            {
                 
    $queryas mysql_query("replace into  techassigns (techassignsid ,departid ,staffid )values(null,"$assdepart[$i] .","$staffid .") ")or die(mysql_error());
            }
            if(!
    $queryas)
            {
            
    //exit();
                
    return false;
            }
         return 
    true;

    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

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.