Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    45

    variabile php in javascript

    Salve,
    Ho una pagina php, vorrei implementarla con dei messaggi di alert in javascript.
    <script ="text/javascript">
    function troppo_alto()
    {
    var quantita = document.form1.quantita.value;
    if(quantita>10){
    alert("valore troppo elevato!")
    document.form1.quantita.focus();
    return false
    }
    }
    </script>
    Questo avvisa l'utente che la quantità inserita è troppo elevata.
    Ma se voglio avvisare l'utente che il prodotto che vuole inserire,
    è già stato immesso come si può fare?
    Praticamente dovrei usare le variabili php e francamente non so come fare.
    Grazie

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    potresti ad esempio ricaricare la pagina ogni volta che l'utente sceglie il prodotto e la volta successiva gli disabiliti/nascondi il prodotto o magari solo il pulsante di inserimento relativo...

    In js non farei affidamento per una cosa del genere

    può essere una soluzione?
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Non è possibile usare variabili php in js almeno non direttamente.

    Il js è lato client, quindi quando l'utente vede la pagina web, il lavoro di php è già terminato. Dunque interazioni senza rinviare i dei dati non è possibile.

    Una domanda, vuoi controllare che un articolo non venga immesso diverse volte. Come e quando controlli che un codice articolo immesso sia corretto ?
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    45
    Meglio fare tutto in php?

  5. #5
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Originariamente inviato da novizio1
    Meglio fare tutto in php?
    I controlli li devi rifare comunque con il php. I controlli fatti con il js servono solo come precontrolli che sono più user friendly, potrei editando la pagina e modificandola mandarti dei dati errati.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    45
    ciao Badaze,

    Il codice php già di per se impedisce che l'articolo venga inserito 2 volte.
    Volevo aggiungere un messaggio di alert per rendere la pagina più "carina".
    Di javascript non ne capisco veramete nulla, php qualcosa.

    Spero che ti ridiano al più presto "i tuoi 1000 posts persi !!!!"

    Ciao.

  7. #7
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Puoi fare cosi ( da adattare e da migliorare )

    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    
    <html>
    <head>
    <title>Untitled</title>
    <script language="JavaScript" type="text/javascript">
    <!--
    
    function controllaTutti() {
     oColl  = document.getElementsByTagName('INPUT');
     //----------- Risetto lo sfondo
     for (i=0;i<oColl.length;i++) {
      curInp = oColl.item(i); 
    	if ( curInp.type == 'text' && curInp.name.substr(0,5) == 'carat') {
       curInp.style.backgroundColor = '';
    	}	//
     } // for (i=0;i<oColl.length;i++)
     //----------- Controllo 
     doppioni = false;
     for (i=0;i<oColl.length;i++) {
      curInp = oColl.item(i);
      curInp = oColl.item(i); 
    	if ( curInp.type == 'text' && curInp.name.substr(0,5) == 'carat') {	
    	 if (esistonoDoppioni(curInp)) {
    	  doppioni = true;
    	 } // if (esistonoDoppioni(curInp))
    	} // if ( curInp.type == 'text' && curInp.name.substr(0,5) == 'carat')
     } // for (i=0;i<oColl.length;i++)
     if (doppioni) {
      alert("Articoli presenti più di una volta");
     } // if (doppioni)
    } // function controllaTutti()
    
    function esistonoDoppioni(anInput) {
     if (anInput.value == '') {
      return;
     } // if (anInput.value == '') 
     errore = false;
     oColl  = document.getElementsByTagName('INPUT');
     for (j=0;j<oColl.length;j++) {
      curInp = oColl.item(j);
    	if ( curInp.type == 'text' && curInp.name.substr(0,5) == 'carat' && curInp.name != anInput.name) {
    	  if (anInput.value == curInp.value) {
    		 errore = true;
    		 curInp.style.backgroundColor = 'yellow';
    		} // if (anInput.value == curInp.value) 
    	} // if ( curInp == 'text' and curInp.name.substr(0,5) == 'carat')
     } // for (j=0;j<oColl.length;j++)
     //
     if (errore) {
      anInput.style.backgroundColor = 'yellow';
     } // if (errore) 
     return  errore;
    } // function controlla()
    
    //-->
    </script>
    
    </head>
    <body>
    <table summary="">
    <tr>
    <td>1</td><td><input type="text" name="carat1" onblur="controllaTutti()"></td>
    </tr>
    <tr>
    <td>2</td><td><input type="text" name="carat2" onblur="controllaTutti()"></td>
    </tr>
    <tr>
    <td>3</td><td><input type="text" name="carat3" onblur="controllaTutti()"></td>
    </tr>
    <tr>
    <td>4</td><td><input type="text" name="carat4" onblur="controllaTutti()"></td>
    </tr>
    </table>
    </body>
    </html>
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    45
    Questo è la mia pagina:
    <?php
    session_start();
    include_once("../registrazione/include/configurazione.php");
    include_once("../registrazione/include/auth.php");
    $PHPSESSID=session_id();

    isset($_SESSION['pippo']) ? $pippo = $_SESSION['pippo'] : $pippo = '';

    $pluto = microtime();

    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

    <HTML><HEAD><TITLE>spesa</TITLE>
    <META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script ="text/javascript">
    function valid()
    {
    var quantita = document.form1.quantita.value;
    if(quantita>10){
    alert("valore troppo elevato!")
    document.form1.quantita.focus();
    return false
    }
    }
    </script>

    <meta name="generator" content="spesa"><link
    href="../Gofrutta_stile/style.css" type=text/css
    rel=stylesheet>

    <META content="MSHTML 6.00.2900.2180" name=GENERATOR></HEAD>
    <BODY>
    <CENTER>
    <DIV class=template1 Ecc.ecc.
    <?php
    echo "Seleziona il prodotto che vuoi acquistare";
    echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"GET\" name=\"form1\" onsubmit=\"return valid();\">";
    echo "<select name=\"prodotti\" size=\"8\" class=form>\n";
    $query = "SELECT `marca`, `prezzo`, `confezione` FROM `magazzino` WHERE `visibile` = 'v' ORDER BY `marca`";
    $dati = mysql_query($query, $DB);
    while($row = mysql_fetch_array($dati))
    {
    echo "<option value=\"".$row['marca']." , ".$row['prezzo']." , ".$row['confezione']."\">".$row['marca'].": ".$row['prezzo']." euro ".$row['confezione']."</option>";
    }
    echo "</select>\n";
    echo "

    \n";
    echo "<input type=\"text\" name=\"quantita\" size=\"4\"/ class=form>Inserisci la quantità che vuoi aquistare
    ";
    echo "
    \n";
    echo "<input type=\"submit\" value=\"Calcola il totale\" >\n";
    echo "<input type=\"reset\" value=\"Cancella la quantità\"/>\n";
    echo "<input type=\"hidden\" name =\"calcola\" value=\"$pluto\">\n";
    echo "</form>";
    if(isset($_GET['prodotti']))
    if($check === MD5(serialize($_GET)) )
    {exit;
    }else{
    if(isset($_GET['calcola']))
    {
    $exploded = explode(",", $_GET['prodotti']);
    $totale = $exploded[1] * trim($_GET['quantita']);
    switch($exploded[2])
    {
    case "kg": $q = "chilogrammi";
    break;
    case "pezzo": $q = "pezzi";
    break;
    case "mazzo": $q = "mazzi";
    }
    }
    mysql_query("INSERT INTO ordini (ID, prodotto, quantita, modalita, totale, prezzo)". " values ('$PHPSESSID' , '$exploded[0]' , ".trim($_GET['quantita'])." ,

    '$exploded[2]', '$totale' , '$exploded[1]' )");
    $num = mysql_affected_rows();
    if($num == 1) {
    $_SESSION['check'] = MD5(serialize($_GET));
    }
    }
    echo "
    ";
    echo "Questi sono i prodotti che hai scelto";
    echo "<form method=\"GET\">";
    echo "<select name=\"risultati\" size=\"8\" class=form>/n";
    $query1 = "SELECT `ID`, `prodotto`, `quantita`, `modalita`,`prezzo`,`totale` FROM `ordini` WHERE `ID` = '$PHPSESSID' ";
    $dati1 = mysql_query($query1, $DB);
    while($row1 = mysql_fetch_array($dati1))
    {
    echo "<option value=\"".$row1['prodotto']." , quantit&agrave;: ".$row1['quantita']." (".$row1['prezzo']." euro ".$row1['modalita'].") totale ".$row1['totale']."

    euro\">".$row1['prodotto']." ,
    quantit&agrave;: ".$row1['quantita']." (".$row1['prezzo']." euro ".$row1['modalita'].") totale ".$row1['totale']." euro</option>";
    }
    echo "</select>";
    echo "

    ";
    echo "<div class=togli>Per togliere un'articolo dalla borsa della spesa: scegli l'articolo, clicca sul tasto
    \"Cancella il prodotto\" ,
    e successivamente clicca sul tasto \"Aggiorna la borsa\".</div>
    ";
    echo "<input type=\"submit\" value=\"Cancella il prodotto\">";
    echo "<input type=\"hidden\" name=\"Cancella il prodotto\">";
    echo "<input type=\"submit\" value=\"Aggiorna la borsa\" >";
    echo "</form>";
    $elimina = explode(",", $_GET['risultati']);
    $query2 = "DELETE FROM ordini WHERE prodotto = '$elimina[0]';";
    $dati2 = mysql_query($query2, $DB);
    $query3 = "SELECT SUM(totale) as totale FROM ordini WHERE `ID` = '$PHPSESSID' GROUP BY ID ";
    $dati3 = mysql_query($query3, $DB);
    while($row3= mysql_fetch_array($dati3))
    echo "<div>Il totale della spesa fino ad ora è di circa $row3[0] euro<div>";
    mysql_close($DB);
    ?>
    </td>
    </tr>
    <tr>
    <td valign="left"><a href="../registrazione/userpasswordspesa.php">[img]../Gofrutta_immagini/Tasto_vergine.gif[/img]</td>
    </tr>
    </table>
    </tr>
    </table>
    ......../CENTER></BODY></HTML>

    Francamente non so come adattare il tuo script??

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    45
    Riposto il codice più pulito:
    (ho tolto parti inutili)
    codice:
    <?php 
    	session_start();
    	include_once("../registrazione/include/configurazione.php");
    	include_once("../registrazione/include/auth.php");
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

    <HTML><HEAD><TITLE>chi siamo</TITLE>
    <META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    codice:
    <script ="text/javascript">
          function valid() 
    	{ 
    	var quantita = document.form1.quantita.value; 
    	if(quantita>10){ 
    	alert("valore troppo elevato!") 
    	document.form1.quantita.focus(); 
    	return false 
    	} 
    	} 
          </script>
    Ecc.Ecc
    codice:
    <?php 
    	echo "Seleziona il prodotto che vuoi acquistare";
    	echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"GET\" name=\"form1\" onsubmit=\"return valid();\">"; 
    	echo "<select name=\"prodotti\" size=\"8\" class=form>\n"; 
    	$query = "SELECT `marca`, `prezzo`, `confezione` FROM `magazzino` WHERE `visibile` = 'v' ORDER BY `marca`"; 
    	$dati = mysql_query($query, $DB); 
    		while($row = mysql_fetch_array($dati)) 
    			{ 
    	echo "<option value=\"".$row['marca']." , ".$row['prezzo']." , ".$row['confezione']."\">".$row['marca'].": ".$row['prezzo']." euro ".$row['confezione']."</option>"; 
    			} 
    	echo "</select>\n"; 
    	echo "
    
    \n"; 
    	echo "<input type=\"text\" name=\"quantita\" size=\"4\"/ class=form>Inserisci la quantità che vuoi aquistare
    ";
     	echo "
    \n";
    	echo "<input type=\"submit\" value=\"Calcola il totale\" >\n"; 
    	echo "<input type=\"reset\" value=\"Cancella la quantità\"/>\n"; 
    	echo "<input type=\"hidden\" name =\"calcola\" >\n"; 
    	echo "</form>"; 
    	if(isset($_GET['calcola'])) 
    	$exploded = explode(",", $_GET['prodotti']); 
    	$totale = $exploded[1] * trim($_GET['quantita']); 
    	switch($exploded[2]) 
    		{ 
    	case "kg": $q = "chilogrammi"; 
    	        break; 
    	        case "pezzo": $q = "pezzi"; 
    	        break; 
     	       case "mazzo": $q = "mazzi"; 
    	        } 
    	mysql_query("INSERT INTO ordini (ID, prodotto, quantita, modalita, totale, prezzo)". " values ('$PHPSESSID' , '$exploded[0]' , ".trim($_GET['quantita'])." , '$exploded[2]', '$totale' , '$exploded[1]' )");
    Qui dovrei inserire qualcosa del tipo
    alert("Il prodotto selezionato è già stato inserito nella lista!")
    codice:
    	echo "
    ";
    	echo "Questi sono i prodotti che hai scelto";
    	echo "<form method=\"GET\">";  
    	echo "<select name=\"risultati\" size=\"8\" class=form>/n"; 
    	$query1 = "SELECT `ID`, `prodotto`, `quantita`, `modalita`,`prezzo`,`totale` FROM `ordini` WHERE `ID` = '$PHPSESSID' ";
    	$dati1 = mysql_query($query1, $DB); 
    	    while($row1 = mysql_fetch_array($dati1)) 
    		  { 
    	echo "<option value=\"".$row1['prodotto']." , quantit&agrave;:  ".$row1['quantita']." (".$row1['prezzo']." euro ".$row1['modalita'].") totale ".$row1['totale']." euro\">".$row1['prodotto']."  ,
    	quantit&agrave;:  ".$row1['quantita']." (".$row1['prezzo']." euro ".$row1['modalita'].")  totale ".$row1['totale']." euro</option>"; 
    		        } 
    	echo "</select>";
    	echo "
    
    ";
    	echo "<div class=togli>Per togliere un'articolo dalla borsa della spesa: scegli l'articolo, clicca sul tasto
     \"Cancella il prodotto\" , 
    	e successivamente clicca sul tasto \"Aggiorna la borsa\".</div>
    ";
    	echo "<input type=\"submit\" value=\"Cancella il prodotto\">"; 
    	echo "<input type=\"hidden\"  name=\"Cancella il prodotto\">";
    	echo "<input type=\"submit\"  value=\"Aggiorna la borsa\" >"; 
    	echo "</form>"; 
    	$elimina = explode(",", $_GET['risultati']);
    	$query2 = "DELETE  FROM ordini WHERE prodotto = '$elimina[0]';";
    	$dati2 = mysql_query($query2, $DB);
    	$query3 = "SELECT SUM(totale) as totale  FROM ordini WHERE `ID` = '$PHPSESSID' GROUP BY ID ";
    	$dati3 = mysql_query($query3, $DB); 
    		while($row3= mysql_fetch_array($dati3))   
     	echo "<div>Il totale della spesa fino ad ora è di circa $row3[0] euro<div>";
    	mysql_close($DB);
    ?>

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 © 2026 vBulletin Solutions, Inc. All rights reserved.