Visualizzazione dei risultati da 1 a 9 su 9

Discussione: php e javascript

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    27

    php e javascript

    Buongiorno bella gente, il mio problema è la ripetizione di un "alert" in javascript messo sotto una condizione if che mi si ripete anche in altre condizioni.
    forse postando il codice interessato vi sembrerà più chiaro.
    Codice PHP:
    <?php
     
    /*Config file */
    include('dati.php'); 
    session_start();

    //variabili
       
    $btn_submit $_SESSION['btn_submit'];
       
    $mod_sel $_POST['mod_sel'];
       
    $qnt $_POST['mod_qnt'];
       
    $aggiuntivo $_POST['aggiuntivo'];
       
    $tecnico $_POST['tecnico'];
       
    $sige $_POST['sige'];
       
    $promil $_POST['promil'];
       
    $email $_POST['mod_mail'];
       
    $cognome $_POST['mod_cognome'];
       
    $cognome strtoupper($cognome);
       
    $nome $_POST['mod_nome'];
       
    $nome strtoupper($nome);
       
    $ufficio $_POST['mod_ufficio'];
       
    $ufficio strtoupper($ufficio);
       
    $datetime date_create()->format('Y-m-d H:i:s');

    //connessione database
    $link=mysql_connect("$databaseHostName","$databaseUserName","$databaseUserPassword")
           or die (
    "Non riesco a connettermi a $databaseHostName");
    mysql_select_db ($databaseName$link)
           or die (
    "Non riesco a selezionare il db $databaseName<br>");


    //selezionamo ID personale per riportarlo nelle tabelle che lo richiedono
    $ID_PERS "SELECT ID_P FROM personale WHERE email = '$email'";
    $result mysql_query($ID_PERS) or die (mysql_error());
    $result mysql_fetch_array($result);

    //inserimento richiesta tecnica
    if ($btn_submit=='1')
    {

    //inserimento personale
    $res "INSERT INTO personale (ID_P,nome,cognome,ufficio,email) VALUES ('','" $nome "','" $cognome "','" $ufficio "','" $email "')";
    mysql_query($res$link) or die (mysql_error());

    $rich "INSERT INTO richiesta (ID,ID_PERS,RICHIESTA,DATA,NOTE) VALUES ('','" $result['ID_P'] ."','" $btn_submit "','" $datetime "','" $tecnico "')";
    mysql_query($rich$link) or die (mysql_error());

    //seleziono l'ultimo inserimeto e lo spedisco via email
    $reg "SELECT ID_P,nome,cognome,ufficio,email,nom_ric,NOTE,DATA FROM personale,richiesta,tipo_ric WHERE richiesta.ID_PERS=personale.ID_P AND richiesta.RICHIESTA=tipo_ric.ID AND richiesta.RICHIESTA='$btn_submit' ORDER BY personale.ID_P DESC LIMIT 1";
    $result mysql_query($reg) or die (mysql_error());

    //preparo email
    $to "helpdesk@example.it";
    $subject " Richiesta Hel Desk ";
    $headers "Content-type: text/html\r\n";

    while(
    $row=mysql_fetch_array($result))
                            {
                            
    $body .= "\n"
                      
    ."ID :" $row['ID_P'] ."\n"
                                  
    ."Nome : " $row['nome'] . "\n"
                                  
    ."Cognome : " $row['cognome'] . "\n"
                                  
    ."Ufficio : " $row['ufficio'] . "\n"
                                  
    ."Email : " $row['email'] . "\n"
                                  
    ."Tipo di richiesta : " $row['nom_ric'] . "\n"
                                  
    ."Descrizione del problema : " $row['NOTE'] . "\n"
                                  
    ."Data : " $row['DATA'] . "\n";
                            }
    //send email
                    
    if(mysql_num_rows($result) > 0)
                        {
                            
    $send mail($to,$subject,$body,$headers);
                                echo 
    "<script language=\"Javascript\">\n";
                                echo 
    "alert(\"Email inviata con successo!\");\n";
                                echo 
    "</script>";
                        }            
    }


    //inserimento materiali consumo
    $qnt_sel "SELECT qnt FROM materiali WHERE ID = '" $mod_sel "'";
    $qnt_ma mysql_query($qnt_sel)or die (mysql_errorr());

    //differenza tra campo tabella qnt mat $qnt_mat e $qnt = $diff
    $diff $qnt_ma $qnt;

    if (
    $btn_submit=='3' && $diff '0')
    {
    //inserimento personale
    $res "INSERT INTO personale (ID_P,nome,cognome,ufficio,email) VALUES ('','" $nome "','" $cognome "','" $ufficio "','" $email "')";
    mysql_query($res$link) or die (mysql_error());

    $mat "INSERT INTO richiesta_mat (ID,ID_PERS,ID_MAT,QNT,DATA,RICHIESTA) VALUES ('','" $result['ID_P'] ."','" $mod_sel "','" $qnt "','" $datetime "','" $btn_submit "' )";
    mysql_query($mat$link) or die (mysql_error());
    }
    else
    {
        echo 
    "<script language=\"Javascript\">\n";
        echo 
    "alert(\"il materiale da Lei richiesto non è presente in magazzino, oppure, ha chiesto una quantità maggiore di quella presente!\");\n";
        echo 
    "</script>";                                
    }
     
    mysql_close($link);
    header("refresh:5; url=personale.php");
    ?>
    Ecco vorrei sapere perchè quella parte di codice javascript dopo "else" appare anche dopo aver concluso la prima richiesta "$bnt_submit==1"
    so che dovrei usare mysqli_ ma sto solo facendo pratica... Grazie comunque a tutti

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    67
    ciao,
    premesso che hai sbagliato la sezione in cui postare
    è semplice ...
    codice HTML:
    if ($btn_submit=='3' && $diff > '0') {
        //codice
    } else {
        //codice
    }

    l'if sarà sempre falso perchè $btn_submit
    è 1 di conseguenza viene esguito il codice nell'else

    Un consiglio cerca di essere più ordinato nella scrittura del codice

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    27
    Quote Originariamente inviata da z3bmckey Visualizza il messaggio
    Buongiorno bella gente, il mio problema è la ripetizione di un "alert" in javascript messo sotto una condizione if che mi si ripete anche in altre condizioni.
    forse postando il codice interessato vi sembrerà più chiaro.
    Codice PHP:
    <?php
     
    /*Config file */
    include('dati.php'); 
    session_start();

    //variabili
       
    $btn_submit $_SESSION['btn_submit'];
       
    $mod_sel $_POST['mod_sel'];
       
    $qnt $_POST['mod_qnt'];
       
    $aggiuntivo $_POST['aggiuntivo'];
       
    $tecnico $_POST['tecnico'];
       
    $sige $_POST['sige'];
       
    $promil $_POST['promil'];
       
    $email $_POST['mod_mail'];
       
    $cognome $_POST['mod_cognome'];
       
    $cognome strtoupper($cognome);
       
    $nome $_POST['mod_nome'];
       
    $nome strtoupper($nome);
       
    $ufficio $_POST['mod_ufficio'];
       
    $ufficio strtoupper($ufficio);
       
    $datetime date_create()->format('Y-m-d H:i:s');

    //connessione database
    $link=mysql_connect("$databaseHostName","$databaseUserName","$databaseUserPassword")
           or die (
    "Non riesco a connettermi a $databaseHostName");
    mysql_select_db ($databaseName$link)
           or die (
    "Non riesco a selezionare il db $databaseName<br>");


    //selezionamo ID personale per riportarlo nelle tabelle che lo richiedono
    $ID_PERS "SELECT ID_P FROM personale WHERE email = '$email'";
    $result mysql_query($ID_PERS) or die (mysql_error());
    $result mysql_fetch_array($result);

    //inserimento richiesta tecnica
    if ($btn_submit=='1')
    {

    //inserimento personale
    $res "INSERT INTO personale (ID_P,nome,cognome,ufficio,email) VALUES ('','" $nome "','" $cognome "','" $ufficio "','" $email "')";
    mysql_query($res$link) or die (mysql_error());

    $rich "INSERT INTO richiesta (ID,ID_PERS,RICHIESTA,DATA,NOTE) VALUES ('','" $result['ID_P'] ."','" $btn_submit "','" $datetime "','" $tecnico "')";
    mysql_query($rich$link) or die (mysql_error());

    //seleziono l'ultimo inserimeto e lo spedisco via email
    $reg "SELECT ID_P,nome,cognome,ufficio,email,nom_ric,NOTE,DATA FROM personale,richiesta,tipo_ric WHERE richiesta.ID_PERS=personale.ID_P AND richiesta.RICHIESTA=tipo_ric.ID AND richiesta.RICHIESTA='$btn_submit' ORDER BY personale.ID_P DESC LIMIT 1";
    $result mysql_query($reg) or die (mysql_error());

    //preparo email
    $to "helpdesk@example.it";
    $subject " Richiesta Hel Desk ";
    $headers "Content-type: text/html\r\n";

    while(
    $row=mysql_fetch_array($result))
                            {
                            
    $body .= "\n"
                      
    ."ID :" $row['ID_P'] ."\n"
                                  
    ."Nome : " $row['nome'] . "\n"
                                  
    ."Cognome : " $row['cognome'] . "\n"
                                  
    ."Ufficio : " $row['ufficio'] . "\n"
                                  
    ."Email : " $row['email'] . "\n"
                                  
    ."Tipo di richiesta : " $row['nom_ric'] . "\n"
                                  
    ."Descrizione del problema : " $row['NOTE'] . "\n"
                                  
    ."Data : " $row['DATA'] . "\n";
                            }
    //send email
                    
    if(mysql_num_rows($result) > 0)
                        {
                            
    $send mail($to,$subject,$body,$headers);
                                echo 
    "<script language=\"Javascript\">\n";
                                echo 
    "alert(\"Email inviata con successo!\");\n";
                                echo 
    "</script>";
                        }            
    }


    //inserimento materiali consumo
    $qnt_sel "SELECT qnt FROM materiali WHERE ID = '" $mod_sel "'";
    $qnt_ma mysql_query($qnt_sel)or die (mysql_errorr());

    //differenza tra campo tabella qnt mat $qnt_mat e $qnt = $diff
    $diff $qnt_ma $qnt;

    if (
    $btn_submit=='3' && $diff '0')
    {
    //inserimento personale
    $res "INSERT INTO personale (ID_P,nome,cognome,ufficio,email) VALUES ('','" $nome "','" $cognome "','" $ufficio "','" $email "')";
    mysql_query($res$link) or die (mysql_error());

    $mat "INSERT INTO richiesta_mat (ID,ID_PERS,ID_MAT,QNT,DATA,RICHIESTA) VALUES ('','" $result['ID_P'] ."','" $mod_sel "','" $qnt "','" $datetime "','" $btn_submit "' )";
    mysql_query($mat$link) or die (mysql_error());
    }
    else
    {
        echo 
    "<script language=\"Javascript\">\n";
        echo 
    "alert(\"il materiale da Lei richiesto non è presente in magazzino, oppure, ha chiesto una quantità maggiore di quella presente!\");\n";
        echo 
    "</script>";                                
    }
     
    mysql_close($link);
    header("refresh:5; url=personale.php");
    ?>
    Ecco vorrei sapere perchè quella parte di codice javascript dopo "else" appare anche dopo aver concluso la prima richiesta "$bnt_submit==1"
    so che dovrei usare mysqli_ ma sto solo facendo pratica... Grazie comunque a tutti
    Ok vprimo errore che mi sono accorto di aver fatto è che non ho usato isset dopo if per vedere se la variabile esiste. Adesso però se io scrivo
    Codice PHP:
    if(isset($bnt_submit==1)) 
    mi restituisce errore
    codice:
    sintax error, unexpected T_BOOLEAN_AND, expeting ',' or ')' in /var... line...
    help me please

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    67
    hai sbagliato a chiudere le parentesi e anche la condizione ...
    codice HTML:
    if(isset($bnt_submit==1))
    codice HTML:
    if(isset($bnt_submit) &&  $bnt_submit==1)

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    27
    mi restituisce ancora il doppio popup come prima, praticamente non è cambiato niente.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    27
    e sopratutto mi sono accorto di aver sbagliato sezione, ma non so come spostarla

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    27
    Quote Originariamente inviata da jojo Visualizza il messaggio
    ciao,
    premesso che hai sbagliato la sezione in cui postare
    è semplice ...
    codice HTML:
    if ($btn_submit=='3' && $diff > '0') {
        //codice
    } else {
        //codice
    }

    l'if sarà sempre falso perchè $btn_submit
    è 1 di conseguenza viene esguito il codice nell'else

    Un consiglio cerca di essere più ordinato nella scrittura del codice
    scusa la mia ignoranza, ma $btn_submit non dipende dal valore che gli passa la SESSIONE?

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    67
    Guarda io ti ho fatto una semplice analisi delle condizioni ....
    ora chiunque assegni il valore 1 alla variabile $btn_submit
    questo if risulterà sempre falso e per questo verrà eseguito il codice nell'else!
    codice HTML:
    if ($btn_submit=='3' && $diff > '0') {
        //codice
    } else {
        //codice
    }
    ora toglimi una curiosità questo if non è che deve stare nell'else del primo if ??
    codice HTML:
    if ($btn_submit=='1')

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    27
    pensandoci bene hai ragione, quindi devo far in modo che se $btn_submit==1 esegue la sua condizione e non deve essere letto dalle altre condizioni.
    Ma come posso fare?

Tag per questa discussione

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.