Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Problemi array

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    518

    Problemi array

    Buongiorno a tutti, recupero i dati di un array con questo ciclo for
    for ($x=0;$x<count($titolo);$x++) {

    echo "Prodotto: $titolo[$x] Quantità : $quantita[$x]
    "; }

    Quando cerco di stamparla mi aggiunge anche la scritta array, quindi ho arrayProdotto:nome titolo
    Quantità : 3
    Come posso toglierla?
    Grazie.

  2. #2
    Il problema sta nelle variabili che stai utilizzando. Controlla che $quantita sia un array monodimensionale.

    Il seguente codice funziona correttamente:

    Codice PHP:
    <?php 
    $titolo   
    = array('A''B''C');
    $quantita = array(123);

    $count count($titolo);
    for (
    $x 0$x $count$x++) {
        echo 
    "Prodotto: $titolo[$x] Quantità : $quantita[$x]
    "

    }
    ?>

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    518
    Anche usando la tu asintassi mi da la scritta ARRAY prima di prodotto

  4. #4
    Hai eseguito l'esempio ESATTAMENTE come ti è stato indicato oppure hai cercato di integrarlo nel tuo codice prima?

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    518
    Hai ragione funziona, avevo io dei problemi con il codice richiamavo un altro array in precedenza, senza valorizzarlo.
    Grazie.

  6. #6
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    la sintassi realmente corretta per poter stampare un parametro in array è

    echo "Prodotto: {$titolo[$x]} Quantità : {$quantita[$x]}
    ";


    in questa maniera non avrai MAI problemi anche su sistemi e versioni php differenti
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    518
    Riprendo questa discussione iniziata stamane, ho utilizzato questo codice per stampare a video l'array.
    <?php
    $titolo = array('A', 'B', 'C');
    $quantita = array(1, 2, 3);

    $count = count($titolo);
    for ($x = 0; $x < $count; $x++) {
    echo "Prodotto: $titolo[$x] Quantità : $quantita[$x]
    ";
    }
    ?>
    Adesso sto provando a mandare una mail :
    conquesto codice :

    $msg .= "Nome: $nome \n";
    $msg .= "Cognome: $cognome \n";
    $msg .= "Indirizzo : $indirizzo\n";
    $msg .= "Città : $citta\n";
    $msg .= "Provincia : $provincia\n";
    $msg .= "C.A.P. : $cap\n";
    $msg .= "Telefono : $telefono\n";
    $msg .= "Indirizzo e-mail : $email\n";
    $msg .= "Prodotti : $titolo[$x] \n";
    ............


    La mail parte ma il campo prodotti rimane vuoto.
    Dove sbaglio?

  8. #8
    Posta il codice completo che stai utilizzando (tutto il ciclo for completo del codice che invia l'email).

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    518
    <?php
    $count = count($titolo);
    for ($x = 0; $x < $count; $x++) {


    $msg .= "Riepilogo Ordine \n";
    $msg .= "--------------------\n";
    $msg .= "Nome: $nome \n";
    $msg .= "Cognome: $cognome \n";
    $msg .= "Indirizzo : $indirizzo\n";
    $msg .= "Città : $citta\n";
    $msg .= "Provincia : $provincia\n";
    $msg .= "C.A.P. : $cap\n";
    $msg .= "Telefono : $telefono\n";
    $msg .= "Indirizzo e-mail : $email\n";
    $msg .= "$titolo[$x]\n";
    $msg .= "Totale : $somma\n";
    $msg .= "\n";



    // use two newline characters at the end of your content,
    // or to insert additional spacing

    $mailheaders = "From: Replay01 <info@replay01.net> \n";
    $mailheaders .= "Reply-To: info@a.it\n\n";


    @$send = mail("$email", "Acquisto prodotti ", $msg, $mailheaders);

    if($send==1){
    echo "";
    }else{
    echo "

    Attenzione messaggio non inviato.</p>";
    }
    }
    ?>

  10. #10
    Per prima cosa:

    $msg .= "Riepilogo Ordine \n";

    dovrebbe essere:

    $msg = "Riepilogo Ordine \n";

    Poi, prova a sostituire:

    $msg .= "$titolo[$x]\n";

    con

    $msg .= $titolo[$x] . "\n";

    Infine

    @$send = mail("$email", "Acquisto prodotti ", $msg, $mailheaders);

    dovrebbe essere:

    $send = @mail("$email", "Acquisto prodotti ", $msg, $mailheaders);

    Se anche cosi' non funziona, all'inizio del ciclo inserisci:

    print_r($titolo);
    die("Prodotto = " . $titolo[$x]);

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.