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
    NLSweb non è connesso Altervistiano Junior
    Data registrazione
    17-01-2014
    Messaggi
    658

    Predefinito

    Bravo! : )

  2. #302
    Guest

    Predefinito

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

  3. #303
    NLSweb non è connesso Altervistiano Junior
    Data registrazione
    17-01-2014
    Messaggi
    658

    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
    NLSweb non è connesso Altervistiano Junior
    Data registrazione
    17-01-2014
    Messaggi
    658

    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
    NLSweb non è connesso Altervistiano Junior
    Data registrazione
    17-01-2014
    Messaggi
    658

    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
    NLSweb non è connesso Altervistiano Junior
    Data registrazione
    17-01-2014
    Messaggi
    658

    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
    NLSweb non è connesso Altervistiano Junior
    Data registrazione
    17-01-2014
    Messaggi
    658

    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
    NLSweb non è connesso Altervistiano Junior
    Data registrazione
    17-01-2014
    Messaggi
    658

    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
    NLSweb non è connesso Altervistiano Junior
    Data registrazione
    17-01-2014
    Messaggi
    658

    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
    NLSweb non è connesso Altervistiano Junior
    Data registrazione
    17-01-2014
    Messaggi
    658

    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
    NLSweb non è connesso Altervistiano Junior
    Data registrazione
    17-01-2014
    Messaggi
    658

    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
    NLSweb non è connesso Altervistiano Junior
    Data registrazione
    17-01-2014
    Messaggi
    658

    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
  •