Pagina 11 di 11 PrimoPrimo ... 91011
Visualizzazione risultati 301 fino 321 di 321

Discussione: Stampare il totale costo in base alla quantità prodotto

  1. #301
    Guest

    Predefinito

    Bravo! : )

  2. #302
    Guest

    Predefinito

    Se riempio il carrello e invio il form, appare l'alert php

  3. #303
    Guest

    Predefinito

    a cosa ti riferisci che non ho capito...

  4. #304
    Guest

    Predefinito

    Fai una prova: riempi il carrello e invia il form, uscirà l'alert php Il carrello è vuoto http://www.libridelbenessere.altervista.org/

  5. #305
    Guest

    Predefinito

    ? non me lo fa ..... riempio il carrello premo invio .. ma non mi appare il cartello !

    appena testato su IE11 , FireFox , Chrome , Opera , Safari ... tutto OK

    --------------------

    p.s.

    perche' non definiamo la F nella funzione controlloG come ti ho suggerito prima ?
    Ultima modifica di NLSweb : 04-11-2014 alle ore 00.40.22

  6. #306
    Guest

    Predefinito

    Definiamo la f

    *******************

    Dimmi una cosa: tu nella prova di prima, ti è uscito il messaggio verde così? Il tuo ordine è stato inviato!
    Ultima modifica di gruppoalveo : 04-11-2014 alle ore 00.58.43

  7. #307
    Guest

    Predefinito

    nella funzione controlloG

    all'inizio inserisci
    Codice:
    var f = $("#mioG");

  8. #308
    Guest

    Predefinito

    L'ho messa qui

    Codice:
    function controlloG(){
    
    /* Controlla se il carrello è pieno o vuoto */
      var totaleacquisto = $("#areacalcolo .totspesa").val(); 
       totaleacquisto = totaleacquisto.toString(); 
       totaleacquisto = totaleacquisto.replace(",", ".");
       totaleacquisto = parseFloat(totaleacquisto);
       if(totaleacquisto<=0){
        document.getElementById('carrelloG').innerHTML = "Il tuo carrello è vuoto!";
        $("#carrelloG").show(); 
       }
    
    /* Verifica che i campi del form siano stati riempiti */   
        var verifica = true;
        var f = $("#mioG");
        
    	var controlla = nomeCampoG();
    	if (!controlla){
        f.controlla.focus();	
        verifica = false;
    }
    ...
    Prima ti avevo chiesto se quando hai fatto la prova ti è apparsa la scritta verde Il tuo ordine è stato inviato!

    perché non è arrivata la mail di avviso

  9. #309
    Guest

    Predefinito

    No... nessun messaggio che conferma l'invio dell'ordine...


    p.s.

    ma action del form ... adesso esegue index.php .... ma non dovrebbe eseguire formG.php ..
    Ultima modifica di NLSweb : 04-11-2014 alle ore 01.25.16

  10. #310
    Guest

    Predefinito

    A me intercetta l'alert qui sotto con safari e chrome, niente con FF, qualcosa non va. Se in formG tolgo variabile e codice, il form va a buon fine (però poi nel passaggio da un altro errore), se escono gli alert php il form torna alla home, come dev'essere.
    Codice PHP:
    $carrelloG = ($_POST['carrelloG']);
    ...
    //Carrello (Campo obbligatorio)
    if(!empty($_POST['inviaG'])) {
    if (
    $carrelloG == "") {
    $errore .= "&bull;&nbsp;&nbsp;Il tuo carrello è vuoto<br><br>";
    }
    }

    Il form se va a buon fine ritorna alla index perché ha gli include. Posso togliere l'onsubmit dal form?

    Codice HTML:
    <div class="footer">
    <?php
    include ("ordine/formG.php"); 
    include ("carrello.php");  
    ?>
    
    </div><!--footer-->
    </div> <!-- container -->
    </body>
    </html>

    Se c'è errore ed il form torna alla index, non mantiene le sessioni dei campi form, però se tolgo questo le mantiene, forse qualche conflitto
    Codice HTML:
    ...
    /* Se  è tutto ok, prosegui con i dati nel carrello... */
     if(totaleacquisto>0 && verifica){
    
     $(".nomeLibro").each(function(){
          var nome = $(this).html();
          $("#shopping").append("<input type='text' name='prodotto[]' value='"+nome+"'>");
       });
       $(".moneyCarrello1").each(function(){
          var prezzo = $(this).val();
          $("#shopping").append("<input type='text' name='prezzo[]' value='"+prezzo+"'>");
       });
       $(".quantity").each(function(){
          var quantita = $(this).val();
          $("#shopping").append("<input type='text' name='quantita[]' value='"+quantita+"'>");
       });
       $(".subTotaleX").each(function(){
          var subtot = $(this).val();
          $("#shopping").append("<input type='text' name='subtotale[]' value='"+subtot+"'>");
       });
    Ultima modifica di gruppoalveo : 04-11-2014 alle ore 11.27.31

  11. #311
    Guest

    Predefinito

    Abbiamo impostato che al caricamento della pagina , il modulo d'ordine ed il carrello si azzerano..
    quindi se c'e' un errore dopo che i dati sono stati inviati , al momento non c'e' modo di ripristinare i campi.

    non capisco ancora dove sia il conflitto...

  12. #312
    Guest

    Predefinito

    Hai provato ad inviare il form? Non va a buon fine

  13. #313
    Guest

    Predefinito

    Ho provato ad inviare il Form , ma non appare il messaggio che conferma l'operazione... (con FF)

    ma non capisco dove sia errore ... il submit viene riabilitato e action del form viene eseguito.. la pagina si vede che si ricarica..ma qualcosa si perde nell'esecuzione del file PHP

  14. #314
    Guest

    Predefinito

    Penso è un problema php. Ti allego il codice che ho in formG. Comunque, prima che mettevamo i controlli js in carrello.php funzionava tutto

    Codice PHP:
    <?php
    if(isset($_POST['inviaG'])) {
    $data_localeG = time(); //Stampa nel db la data numerica es. 1360585588
    $nomeG = htmlspecialchars(addslashes(ucfirst(trim($_POST['nomeG']))));
    $cognome = htmlspecialchars(addslashes(ucfirst(trim($_POST['cognome']))));
    $via = htmlspecialchars(addslashes(ucwords(trim($_POST['via']))));
    $n = htmlspecialchars(addslashes(ucfirst(trim($_POST['n']))));
    $loc = htmlspecialchars(addslashes(ucfirst(trim($_POST['loc']))));
    $pro = htmlspecialchars(addslashes(ucfirst(trim($_POST['pro']))));
    $cap = htmlspecialchars(addslashes(trim($_POST['cap'])));
    $naz = htmlspecialchars(addslashes(ucfirst(trim($_POST['naz']))));
    $email = htmlspecialchars(strtolower($_POST['email']));
    $email = str_replace(" ","",$email); // Toglie gli spazi interni nell'email
    $tel = htmlspecialchars(addslashes(trim($_POST['tel'])));
    $messaggioG = htmlspecialchars(addslashes(ucfirst(trim($_POST['messaggioG']))));
    $pagamento = ($_POST['pagamento']);
    $validatorG = htmlspecialchars(trim($_POST['validatorG']));
    $carrelloG = ($_POST['carrelloG']);

    $_SESSION['nomeG'] = $nomeG;
    $_SESSION['cognome'] = $cognome;
    $_SESSION['via'] = $via;
    $_SESSION['n'] = $n;
    $_SESSION['loc'] = $loc;
    $_SESSION['pro'] = $pro;
    $_SESSION['cap'] = $cap;
    $_SESSION['naz'] = $naz;
    $_SESSION['email'] = $email;
    $_SESSION['tel'] = $tel;
    $_SESSION['pagamento'] = $pagamento;
    $_SESSION['messaggioG'] = $messaggioG;

    //dichiaro la variabile e la rendo vuota, altrimenti da errore
    $errore = '';

    //strlen = numero di byte occupati dalla stringa, questo significa compresi gli spazi interni fra le parole
    if (strlen($nomeG) > 20) {
    $errore .= "&bull;&nbsp;&nbsp;NOME: max 20 caratteri<br><br>";
    }
    if (
    strlen($cognome) > 30) {
    $errore .= "&bull;&nbsp;&nbsp;COGNOME: max 30 caratteri<br><br>";
    }
    if (
    strlen($via) > 30) {
    $errore .= "&bull;&nbsp;&nbsp;VIA: max 30 caratteri<br><br>";
    }
    if (
    strlen($n) > 10) {
    $errore .= "&bull;&nbsp;&nbsp;N°: max 10 caratteri<br><br>";
    }
    if (
    strlen($loc) > 30) {
    $errore .= "&bull;&nbsp;&nbsp;LOCALITÀ: max 30 caratteri<br><br>";
    }
    if (
    strlen($pro) > 30) {
    $errore .= "&bull;&nbsp;&nbsp;PROVINCIA: max 10 caratteri<br><br>";
    }
    if (
    strlen($cap) > 10) {
    $errore .= "&bull;&nbsp;&nbsp;CAP: max 10 caratteri<br><br>";
    }
    if (
    strlen($naz) > 20) {
    $errore .= "&bull;&nbsp;&nbsp;NAZIONE: max 20 caratteri<br><br>";
    }
    if (
    strlen($email) > 320) {
    $errore .= "&bull;&nbsp;&nbsp;EMAIL: max 320 caratteri<br><br>";
    }
    if (
    strlen($tel) > 20) {
    $errore .= "&bull;&nbsp;&nbsp;TEL: max 20 caratteri<br><br>";
    }
    // Non conteggia le new line
    if (strlen(str_replace(array("\n", "\r"),"", $messaggioG)) > 200) {
    $errore .= "&bull;&nbsp;&nbsp;MESSAGGIO: max 200 caratteri<br><br>";
    }
    if (
    strlen($validatorG) > 4 ) {
    $errore .= "&bull;&nbsp;&nbsp;CODICE: max 4 caratteri<br><br>";
    }

    //Nome (Campo obbligatorio)
    if(!empty($_POST['inviaG'])) {
    if (
    $nomeG == "") {
    $errore .= "&bull;&nbsp;&nbsp;Inserire il Nome<br><br>";
    }
    }
    //Cognome (Campo obbligatorio)
    if(!empty($_POST['inviaG'])) {
    if (
    $cognome == "") {
    $errore .= "&bull;&nbsp;&nbsp;Inserire il Cognome<br><br>";
    }
    }
    //Via (Campo obbligatorio)
    if(!empty($_POST['inviaG'])) {
    if (
    $via == "") {
    $errore .= "&bull;&nbsp;&nbsp;Inserire la Via<br><br>";
    }
    }
    //Numero (Campo obbligatorio)
    if(!empty($_POST['inviaG'])) {
    if (
    $n == "") {
    $errore .= "&bull;&nbsp;&nbsp;Inserire il Numero<br><br>";
    }
    }
    //Località (Campo obbligatorio)
    if(!empty($_POST['inviaG'])) {
    if (
    $loc == "") {
    $loc .= "&bull;&nbsp;&nbsp;Inserire la Località<br><br>";
    }
    }
    //Provincia (Campo obbligatorio)
    if(!empty($_POST['inviaG'])) {
    if (
    $pro == "") {
    $errore .= "&bull;&nbsp;&nbsp;Inserire la Provincia<br><br>";
    }
    }
    //CAP (Campo obbligatorio)
    if(!empty($_POST['inviaG'])) {
    if (
    $cap == "") {
    $errore .= "&bull;&nbsp;&nbsp;Inserire il CAP<br><br>";
    }
    }
    //Email (Campo obbligatorio)
    if(!empty($_POST['inviaG'])) {
    if (
    $email == "") {
    $errore .= "&bull;&nbsp;&nbsp;Inserire l'Email<br><br>";
    }
    }
    //Valida email
    if ($email) {
    if (!
    preg_match("/^[^.-]([.]?[^.-]+)*([-][^.-])?([.]?[^.-])*@(.*)[^.](\.[a-z]{2,6})$/",$email)) {
    $errore .= "&bull;&nbsp;&nbsp;Email non valida<br><br>";
    }
    }
    //Telefono (Campo obbligatorio)
    if(!empty($_POST['inviaG'])) {
    if (
    $tel == "") {
    $errore .= "&bull;&nbsp;&nbsp;Inserire il Telefono<br><br>";
    }
    }
    //Pagamento (Campo obbligatorio)
    if(!empty($_POST['inviaG'])) {
    if (
    $pagamento == "") {
    $errore .= "&bull;&nbsp;&nbsp;Selezionare un tipo di pagamento<br><br>";
    }
    }
    //Validatore (Campo obbligatorio)
    if(!empty($_POST['inviaG'])) {
    if (
    $validatorG == "") {
    $errore .= "&bull;&nbsp;&nbsp;Inserire il Codice<br><br>";
    }
    }
    //Controlla che il codice Captcha inserito corrisponda a quello che appare nell'immagine
    if(!empty($_POST['inviaG'])) {
    if (
    $_SESSION['rand_code'] != strtolower(trim($_POST['validatorG']))) {
    $errore .= "&bull;&nbsp;&nbsp;Codice errato!<br><br>";
    }
    }
    //Carrello (Campo obbligatorio)
    if(!empty($_POST['inviaG'])) {
    if (
    $carrelloG == "") {
    $errore .= "&bull;&nbsp;&nbsp;Il tuo carrello è vuoto<br><br>";
    }
    }

    if (
    $naz == "") {
    $naz =" Italia";
    }

    //Questo codice se il campo è vuoto mette a video la barretta IN MAIL
    if ($messaggioG == "") {
    $messaggioG ="-";
    }

    //Scrive i dati all'interno della tabella del db in un certo ordine
    $q="INSERT INTO ordine(data_localeG,dataGmt,destinazione_libri,email,telefono,pagamento,note,carrello,ip)
    VALUES('
    $data_localeG','$dataGmt','$nomeG $cognome Via $via $n $cap $loc ($pro) $naz','$email','$tel','$pagamento','$messaggioG','$carrelloG','$ip')";

    // Lancio la query
    $ris=mysql_query($q);

    // Controllo l'esito
    if (!$ris) {
    die(
    "Errore nella query $query: " . mysql_error());
    }

    //Estraggo i messaggi dall'alto verso il basso, in ordine crescente
    $q="SELECT * FROM ordine ORDER BY id DESC";
    //Lancio la query
    $ris=mysql_query($q);

    if(
    $errore==""){
    echo
    "<div class=\"traspG\"></div><div class=\"inviatoG\"><div style=\"margin-top:25px; margin-bottom:30px; text-align:center;\"><img src=\"immagini/ok.png\" width=\"60\" height=\"60\" alt=\"Ok\" title=\"Ok\"></div><div style=\"font-size:19px; padding-top: 10px;\">Il tuo ordine è stato inviato!</div></div>";
    echo
    "<meta http-equiv='refresh' content='1; url=\"index.php\">";
    session_destroy();

    //CODICI INVIO EMAIL

    }
    else {
    echo
    "<div class=\"traspG\"></div><div class=\"alertG\"><div style=\"margin-top:25px;margin-bottom:30px;text-align:center;\"><img src=\"immagini/alert.png\" width=\"70\" height=\"70\" alt=\"Alert\" title=\"Alert\"></div>$errore</div>";
    echo
    "<meta http-equiv=\"refresh\" content=\"1; url=".htmlspecialchars($_SERVER['PHP_SELF'])."?#segnalibroOrdine\">";
    }
    }
    ?>
    //FORM
    Ultima modifica di gruppoalveo : 05-11-2014 alle ore 15.29.08

  15. #315
    Guest

    Predefinito

    Analizzando il codice , ho notato che non ci sono i POST dei dati del carrello e che esegui il controllo se il carrello e' vuoto su carrelloG che e' l'area del messaggio "il carrello e' vuoto" ...

    quindi , come prima cosa preleverei i dati del carrello usando questo metodo:
    chiaramente questo e' solo un esempio poi scegli tu come visualizzare i dati.
    Codice PHP:
    $prodotto = $_POST['prodotto'];
    $prezzo= $_POST['prezzo'];
    $quantita= $_POST['quantita'];
    $subtotale= $_POST['subtotale'];

    echo
    "elenco prodotti:";

    for(
    $i=0;$i<sizeof($prodotto);$i++){
    echo
    "Titolo:".$prodotto[$i]." , Prezzo:".$prezzo[$i]." , Quantita:".$quantita[$i]." , SubTot:".$subtotale[$i];
    }

    questo dato $carrelloG = ($_POST['carrelloG']);
    non credo che ti serva.. se vuoi verificare che il carrello e' vuoto , forse e' meglio inviare anche il dato del TOTALE
    Codice:
    var TotCarrello = $("#areacalcolo .totspesa").val();
    $("#shopping").append("<input type='text' name='totale' value='"+TotCarrello+"'>");
    quindi nel PHP lo recuperi cosi:
    Codice:
    $totale= $_POST['totale'];
    e il controllo PHP sul carrello lo puoi fare cosi:
    Codice PHP:
    //Carrello (Campo obbligatorio)
    if(!empty($_POST['inviaG'])) {
    if (
    $totale == "") {
    $errore .= "&bull;&nbsp;&nbsp;Il tuo carrello è vuoto<br><br>";
    }
    }

  16. #316
    Guest

    Predefinito

    Questo dove lo metto?

    $prodotto = $_POST['prodotto'];
    $prezzo= $_POST['prezzo'];
    $quantita= $_POST['quantita'];
    $subtotale= $_POST['subtotale'];

    echo "elenco prodotti:";

    for($i=0;$i<sizeof($prodotto);$i++){
    echo "Titolo:".$prodotto[$i]." , Prezzo:".$prezzo[$i]." , Quantita:".$quantita[$i]." , SubTot:".$subtotale[$i];
    }

  17. #317
    Guest

    Predefinito

    in formG

  18. #318
    Guest

    Predefinito

    Nel carrello.php

    Codice:
    if(totaleacquisto>0 && verifica){
    
     $(".nomeLibro").each(function(){
          var nome = $(this).html();
          $("#shopping").append("<input type='text' name='prodotto[]' value='"+nome+"'>");
       });
       $(".moneyCarrello1").each(function(){
          var prezzo = $(this).val();
          $("#shopping").append("<input type='text' name='prezzo[]' value='"+prezzo+"'>");
       });
       $(".quantity").each(function(){
          var quantita = $(this).val();
       $("#shopping").append("<input type='text' name='quantita[]' value='"+quantita+"'>");
       });
          var TotCarrello = $("#areacalcolo .totspesa").val();
      $("#shopping").append("<input type='text' name='totale' value='"+TotCarrello+"'>");
       
    /* ...e riabilitiamo il submit del form */
      $("#mioG").submit(function(event){
       $(this).unbind('submit').submit();
      });
     }
    }
    </script>

    Ho messo così, ma con FF non mostra gli avvisi php, con gli altri browser appare sempre l'alert php che il carrello è vuoto anche se è pieno.
    Codice PHP:
    <?php
    if(isset($_POST['inviaG'])) {
    $data_localeG = time(); //Stampa nel db la data numerica es. 1360585588
    $nomeG = htmlspecialchars(addslashes(ucfirst(trim($_POST['nomeG']))));
    $cognome = htmlspecialchars(addslashes(ucfirst(trim($_POST['cognome']))));
    $via = htmlspecialchars(addslashes(ucwords(trim($_POST['via']))));
    $n = htmlspecialchars(addslashes(ucfirst(trim($_POST['n']))));
    $loc = htmlspecialchars(addslashes(ucfirst(trim($_POST['loc']))));
    $pro = htmlspecialchars(addslashes(ucfirst(trim($_POST['pro']))));
    $cap = htmlspecialchars(addslashes(trim($_POST['cap'])));
    $naz = htmlspecialchars(addslashes(ucfirst(trim($_POST['naz']))));
    $email = htmlspecialchars(strtolower($_POST['email']));
    $email = str_replace(" ","",$email); // Toglie gli spazi interni nell'email
    $tel = htmlspecialchars(addslashes(trim($_POST['tel'])));
    $messaggioG = htmlspecialchars(addslashes(ucfirst(trim($_POST['messaggioG']))));
    $pagamento = ($_POST['pagamento']);
    $validatorG = htmlspecialchars(trim($_POST['validatorG']));
    // Variabili del carrello
    $prodotto = $_POST['prodotto'];
    $prezzo= $_POST['prezzo'];
    $quantita= $_POST['quantita'];
    $subtotale= $_POST['subtotale'];
    $totale= $_POST['totale'];

    //QUESTA PARTE L'HO MESSA NELLA EMAIL <-----------------
    echo "elenco prodotti:";
    for(
    $i=0;$i<sizeof($prodotto);$i++){
    echo
    "Titolo:".$prodotto[$i]." , Prezzo:".$prezzo[$i]." , Quantita:".$quantita[$i]." , SubTot:".$subtotale[$i];
    }
    //FINE EMAIL
    ...

    //Carrello (Campo obbligatorio)
    if(!empty($_POST['inviaG'])) {
    if (
    $totale == "") {
    $errore .= "&bull;&nbsp;&nbsp;Il tuo carrello è vuoto<br><br>";
    }
    }

    ...

    //Scrive i dati all'interno della tabella del db in un certo ordine
    $q="INSERT INTO ordine(data_localeG,dataGmt,destinazione_libri,email,telefono,pagamento,note,carrello,ip)
    VALUES('
    $data_localeG','$dataGmt','$nomeG $cognome Via $via $n $cap $loc ($pro) $naz','$email','$tel','$pagamento','$messaggioG','$totale','$ip')";
    Ultima modifica di gruppoalveo : 06-11-2014 alle ore 07.15.27

  19. #319
    Guest

    Predefinito

    Come viene determinato inviaG ?

    con FF non mostra gli avvisi php
    ma l'email vengono inviate con i dati ?

  20. #320
    Guest

    Predefinito

    I dati vengono inviati (senza il carrello) se tolgo questo, altrimenti esce sempre questo alert che blocca l'invio
    Codice PHP:
    //Carrello (Campo obbligatorio)
    if(!empty($_POST['inviaG'])) {
    if (
    $totale == "") {
    $errore .= "&bull;&nbsp;&nbsp;Il tuo carrello è vuoto<br><br>";
    }
    }

    Come viene determinato inviaG ?

    Che intendi, questo?
    Codice HTML:
    <button type="submit" class="aggiungi" name="inviaG" value="inviaG" onclick="controlloG()" style="cursor:pointer;">Invia</button>
    Ultima modifica di gruppoalveo : 08-11-2014 alle ore 21.48.27

  21. #321
    Guest

    Predefinito

    CIAO

    ..finiamo il lavoro ! (non ti ho abbandonato .. solo molto impegnato)

    secondo me questo codice di controllo non ti serve ..
    Codice:
    if(!empty($_POST['inviaG'])) {  ...
    ma tu dici:
    I dati vengono inviati (senza il carrello)..
    come è possibile ?! ..
    la funzione controlloG , aggiungi i campi del carrello prima di eseguire il submit !
    i valori dele variabili del carrello sono vuoti o cosa ? (esempio $subtotale= $_POST['subtotale'];)

    per favore se puoi controlla i valori delle variabili (con un echo o un alert vedi tu..) dopo il submit

    se ancora non va , possiamo modificare il metodo di inserimento dei campi del carrello nel form..

Pagina 11 di 11 PrimoPrimo ... 91011

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •