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

    [PHP] Insimento tabella in script

    questo è un piccolo script che permette una volta aggiunti dei prodotti, di visualizzarli in una tabella. Questi posso essere acquistati e verrà inviata un mail con il riepilogo.
    Adesso allo stato attuale va tutto alla grande.

    Gli unici problemi che riscontro sono:

    + Quando chiedo di inserire i dati per l'acquisto non mi visualizza i prodotto messi nel carrello
    + Quando arriva la mail non mi visualizza i prodotti messi nel carrello

    Di seguito vi posto i codici:


    Funzioni.php

    codice:
    <?php
    function top(){
    echo "<html>
    <head>
    <title>Acquisto prodotti</title>
    
    </head>
    <body>
    <div align=\"center\">
      <table width=\"903\" border=\"1\" cellpadding=\"0\" cellspacing=\"0\" bordercolor=\"#000000\" bgcolor=\"#ffffff\">
      <tr>
          <td width=\"200\" align=\"center\" valign=\"top\" bgcolor=\"#ffffff\">
    	  <iframe width=\"198\" marginwidth=\"0\" marginheight=\"2\" src=\"login.php\"  name=\"main\" frameborder=\"0\" scrolling=\"no\" height=\"150\">
    </iframe></td>
          <td colspan=\"6\" align=\"center\" valign=\"top\" bgcolor=\"#ffffff\">";
    }
    
    function bottom(){
    echo "</td>
        </tr></table></body>
    </html>";
    }
    
    function usaCarrello()
    {
      $carrello = $_SESSION['carrello'];
      if (!$carrello)
      {
        return 'Il carrello è vuoto.
    ';
      }else{
        $prodotti = @explode(',',$carrello);
        return 'Ci sono <a href="carrello.php">'.
        @count($prodotti). ' prodotti nel carrello.</a>
    ';
      }
    }
    
    function mostraCarrello()
    {
      global $db;
      $carrello = $_SESSION['carrello'];
      $somma = 0;
      if ($carrello)
      {
        $prodotti = @explode(',',$carrello);
        $acquisti = array();
        foreach ($prodotti as $prodotto)
        {
          $acquisti[$prodotto] = (@isset($acquisti[$prodotto])) ? $acquisti[$prodotto] + 1 : 1;
        }
        $result[] = '<form action="carrello.php?action=aggiorna" method="post" id="cart">';
        $result[] = '<table border="1" frame="border" rules="none" width="75%" align="center">';
        $result[] = '<tbody><tr>'; 
     //   $result[] = '<td width="15%">CODICE</td>';
     //   $result[] = '<td width="20%">CATEGORIA</td>';
    	  $result[] = '<td width="15%">MARCA</td>';
    	  $result[] = '<td width="20%">DESCRIZIONE</td>';
    	  $result[] = '<td width="50%">PREZZO</td>';
    	  $result[] = '<td width="50%">Q.TA</td>';
    	  $result[] = '<td width="50%">IMPORTO</td>';
        $result[] = '</tr>';
        $result[] = '<tr>'; 
    
        foreach ($acquisti as $id=>$quantita)
        {
          $sql = 'SELECT * FROM prodotti WHERE id = '.$id;
          $res = $db->query($sql);
          $f = $res->fetch();
          @extract($f);
          $result[] = '<tr>';
          
          $result[] = '<td>'.$nome.'</td>';
          $result[] = '<td>'.$marca.'</td>';
          $result[] = '<td>&euro;'.$prezzo.'</td>';
          $result[] = '<td><input type="text" name="quantita'.$id.'" value="'.$quantita.'" size="3"></td>';
          $result[] = '<td>&euro;'.($prezzo * $quantita).'</td>';
          $somma += $prezzo * $quantita;
          $result[] = '<td>ELIMINA</td>';
          $result[] = '</tr>';
        }
    
        $result[] = '</table>';
        $result[] = 'Totale: &euro;'.$somma.'</br>';
        $result[] = '<button type="submit">Aggiorna il carrello</button>';
        $result[] = '</form>';
      }else{
        $result[] = 'Il carrello è vuoto.
    ';
      }
      return @join('',$result);
    }
    ?>
    
    <style type="text/css">
    <!--
    input,select {
    	border: 1px solid nero;
    	background-color: #f2ffd5;
    	font-size: 16px;
    	font-family: Helvetica;
    	color: #blu;
    	}
    
    
    
    h1{
    	font-family: Verdana,arial;
    	color: #000000;
    }
    
    table{
    	background: #f2ffd5;
    	border: 2px ridge #FF9224;
    }
    
    body {margin-top: 4px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;font-size: 20px; font-family: Helvetica, Arial, Verdana; background-color: #216383}
    
    
     thead{
     font-family: verdana, Times, serif;
     text-align: center;
    	color: #669933;
    	background: white;
    	}
    
    td,th {font-family: Times New Roman; font-size: 10px;  border: 0px }
    
    
    a:link { font-family: Helvetica, Arial, Verdana; font-size: 15px; font-weight: bold; color: #CC6600 ; text-decoration: none; text-align: center }
    
    
    a:visited {font-family: Helvetica, Arial, Verdana; font-size: 15px; font-weight: bold; color: #CC6600 ; text-decoration: none; text-align: center}
    
    
    a:hover {
    	color: #000000;
    }
    a:active {
    	color: #FF0000;
    }
    img {
    	border: 0px;
    }
    div {
    	
    	text-align: center;
    }
    -->
    </style>

    ordine.php

    codice:
    <?php
    @require('funzioni.php');
    
    top();
    ?>
    
    <form action="confermaordine.php" method="post"  enctype="multipart/form-data">
    
    <h1>Inserire i dati nel form sottostante:</h1>
    <table width="400" border="1" cellspacing="0" cellpadding="0">
      <tr>
        <td>COGNOME:</td>
        <td><input name="cognome" type="text" size="25" maxlength="25"></td>
      </tr>
        <tr>
        <td>[b]NOME:</b</td>
        <td><input name="nome" type="text" size="25" maxlength="25"></td>
      </tr>
      <tr>
        <td>[b]RAGIONE SOCIALE:</b</td>
        <td><input name="ragionesociale" type="text" size="25" maxlength="25"></td>
      </tr>
      <tr>
        <td>[b]PARTITA IVA/CODICE FISCALE:</b</td>
        <td><input name="cod_part" type="text" size="25" maxlength="25"></td>
      </tr>
        <td>[b]INDIRIZZO:</b</td>
        <td><input name="indirizzo" type="text" size="25" maxlength="50"></td>
      </tr>
        <tr>
        <td>[b]LOCALITA' (PROV):</b</td>
        <td><input name="localita" type="text" size="25" maxlength="25"></td>
      </tr>
      <tr>
        <td>[b]CAP:</b</td>
        <td><input name="cap" type="text" size="25" maxlength="5"></td>
      </tr>
        <tr>
        <td>[b]EMAIL:</b</td>
        <td><input name="email" type="text" size="25" maxlength="25"></td>
      </tr>
        <tr>
        <td>[b]TELEFONO:</b</td>
        <td><input name="telefono" type="text" size="25" maxlength="25"></td>
      </tr>
      
    </table>
    
    
    
    
    [img]btn_backshop.gif\[/img]
    <input name="invia il modulo" type="image" src="btn_confermaordine.gif">
    </form>
    </body>
    </html>
    <?php bottom(); ?>

    confermaordine.php

    codice:
    <?php
    
    $msg ="Ciao Utente ";
    $msg .= "\n";
    $msg .= "\n";
    $msg .= "\n";
    $msg .= $_POST['cognome'];
    $msg .= "\n";
    $msg .= $_POST['nome'];
    $msg .= "\n";
    $msg .= $_POST['ragionesociale'];
    $msg .= "\n";
    $msg .= $_POST['indirizzo'];
    $msg .= "\n";
    $msg .= $_POST['localita'];
    $msg .= "\n";
    $msg .= $_POST['email'];
    $msg .= "\n";
    $msg .= $_POST['telefono'];
    $msg .= "\n";
    $msg .= $_POST['cod_part'];
    $msg .= "\n";
    
    
    if (trim($cognome)=="" or trim($nome)=="" or trim($ragionesociale)=="" or trim($indirizzo)=="" or trim($localita)=="" or trim($email)=="" or trim($telefono)=="" or trim($cod_part)=="") {
    echo "I campi obbligatori devono essere riempiti...torna indietro";
    
    }else if(!$risultato = ereg("^[^@ ]+@[^@ ]+\.[^@ \.]+$", $email)){
    echo " $email non è un indirizzo email valido";
    
    }
    else{
    // permetto anche l'inserimento del simbolo '  es: l'altra volta...
    $cognome=addslashes(stripslashes($cognome));
    $nome=addslashes(stripslashes($nome));
    $ragionesociale=addslashes(stripslashes($ragionesociale));
    $indirizzo=addslashes(stripslashes($indirizzo));
    $localita=addslashes(stripslashes($localita));
    $email=addslashes(stripslashes($email));
    $telefono=addslashes(stripslashes($telefono));
    $cod_part=addslashes(stripslashes($cod_part));
    
    
    // setto il primo carattere in maiuscolo
    $cognome=ucfirst($cognome);
    $nome=ucfirst($nome);
    
    $header = "From:<mail@yahoo.it>\n";
    $header .= "Reply-To:<mail2@yahoo.it>\n";
    $header .= "MIME-Version: 1.0\n";
    $header .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
    $header .= "Content-Transfer-Encoding: 7bit\n\n";
    
    $msg = "<html><body bgcolor=black>
    <center><table width=\"803\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" bordercolor=orange>
        <tr>
    	    <td><font color=orange><p align=\"left\">
    Ciao $cognome $nome, Stealk è felice di darti il suo benvenuto
    		
    <p align=\"justify\">Portando a termine l'iscrizione potrai subito acquistare i nostri prodotti effettuando il login
    
    		Per effettare il login basta inserire la username e la password da te scelte negli appositi campi della sezione situata nella colonna sinistra
    
    		
    
    		
    
    		DATI PER LA SPEDIZIONE
    
    		
    
    		COGNOME:$cognome
    
    		NOME:$nome
    
    		RAGIONE SOCIALE:$ragionesociale
    
    		PARTITA IVA/CODICE FISCALE:$cod_part
    
    		INDIRIZZO:$indirizzo
    
    		LOCALITA:$localita
    
    		EMAIL:$email
    
    		TELEFONO:$telefono
    
    		
    
    		Per non perdere i dati ti consiglio di non cancellare questa email
    		
    
    Per completare l'iscrizione non ti resta che cliccare nel collegamento sottostante...Se
    		il collegamento non funziona, copia l'URL e incollala nella barra degli indirizzi del tuo browser(Internet explorer, firefox)
    
    		
    <p align=\"center\">
    	
    		<p align=\"right\">
    
    		Cordiali saluti
    
    		Stealk
    		</font>
    		 </td>
    	  </tr></table><hr>";
    
    $subject = "Acquisto Prodotti";
    
    
    
    mail("miamail@yahoo.it", $subject, $msg, $header );
    
    header("Refresh: 2; URL=http://www.xxxorg/m/email_inviata.html");
    }
    ?>
    In pratica come detto non riesco a far visualizzare sia su ordine.php che nella mail generata da confermaordine.php la tabella dei prodotto inseriti nel carrello

    Poteta aiutarmi??

    Grazie

  2. #2
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    Codice PHP:
    if (trim($cognome)=="" or trim($nome)=="" or trim($ragionesociale)=="" or trim($indirizzo)=="" or trim($localita)=="" or trim($email)=="" or trim($telefono)=="" or trim($cod_part)=="") {
    echo 
    "I campi obbligatori devono essere riempiti...torna indietro";
    ... 

    le varie variabili nn sono polate... devi prima prenderle tramite post dalla pagina precendente...
    Codice PHP:
    $cognome=$_POST['cognome'];
    etc...
    if (
    trim($cognome)=="" or trim($nome)=="" or trim($ragionesociale)=="" or trim($indirizzo)=="" or trim($localita)=="" or trim($email)=="" or trim($telefono)=="" or trim($cod_part)=="") {
    echo 
    "I campi obbligatori devono essere riempiti...torna indietro";
    ... 

  3. #3
    in che senso kodode?? Scusami ma non ti seguo

  4. #4
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    Codice PHP:
    if (trim($cognome)=="" or trim($nome)=="" or trim($ragionesociale)=="" or trim($indirizzo)=="" or trim($localita)=="" or trim($email)=="" or trim($telefono)=="" or trim($cod_part)=="") { 
    tutte queste condizioni sono "false" perchè le variabilli non sono state valorizzate... questo non so se sia un errore o se omesso parte del codice ma in realtà dovrebbe essere :

    Codice PHP:
    $cognome=$_POST['cognome'];
    $nome=$_POST['nome'];
    etc...

    if (
    trim($cognome)=="" or trim($nome)=="" or trim($ragionesociale)=="" or trim($indirizzo)=="" or trim($localita)=="" or trim($email)=="" or trim($telefono)=="" or trim($cod_part)=="") { 

  5. #5
    Guarda qua:

    codice:
    <?php
    
    $msg ="Ciao Utente ";
    $msg .= "\n";
    $msg .= "\n";
    $msg .= "\n";
    $msg .= $_POST['cognome'];
    $msg .= "\n";
    $msg .= $_POST['nome'];
    $msg .= "\n";
    $msg .= $_POST['ragionesociale'];
    $msg .= "\n";
    $msg .= $_POST['indirizzo'];
    $msg .= "\n";
    $msg .= $_POST['localita'];
    $msg .= "\n";
    $msg .= $_POST['email'];
    $msg .= "\n";
    $msg .= $_POST['telefono'];
    $msg .= "\n";
    $msg .= $_POST['cod_part'];
    $msg .= "\n";
    
    
    if (trim($cognome)=="" or trim($nome)=="" or trim($ragionesociale)=="" or trim($indirizzo)=="" or trim($localita)=="" or trim($email)=="" or trim($telefono)=="" or trim($cod_part)=="") {
    echo "I campi obbligatori devono essere riempiti...torna indietro";
    
    }else if(!$risultato = ereg("^[^@ ]+@[^@ ]+\.[^@ \.]+$", $email)){
    echo " $email non è un indirizzo email valido";
    
    }
    else{
    // permetto anche l'inserimento del simbolo '  es: l'altra volta...
    $cognome=addslashes(stripslashes($cognome));
    $nome=addslashes(stripslashes($nome));
    $ragionesociale=addslashes(stripslashes($ragionesociale));
    $indirizzo=addslashes(stripslashes($indirizzo));
    $localita=addslashes(stripslashes($localita));
    $email=addslashes(stripslashes($email));
    $telefono=addslashes(stripslashes($telefono));
    $cod_part=addslashes(stripslashes($cod_part));
    
    
    // setto il primo carattere in maiuscolo
    $cognome=ucfirst($cognome);
    $nome=ucfirst($nome);
    
    $header = "From:<mail@yahoo.it>\n";
    $header .= "Reply-To:<mail2@yahoo.it>\n";
    $header .= "MIME-Version: 1.0\n";
    $header .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
    $header .= "Content-Transfer-Encoding: 7bit\n\n";
    
    $msg = "<html><body bgcolor=black>
    <center><table width=\"803\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" bordercolor=orange>
        <tr>
    	    <td><font color=orange><p align=\"left\">
    Ciao $cognome $nome, Stealk è felice di darti il suo benvenuto
    		
    <p align=\"justify\">Portando a termine l'iscrizione potrai subito acquistare i nostri prodotti effettuando il login
    
    		Per effettare il login basta inserire la username e la password da te scelte negli appositi campi della sezione situata nella colonna sinistra
    
    		
    
    		
    
    		DATI PER LA SPEDIZIONE
    
    		
    
    		COGNOME:$cognome
    
    		NOME:$nome
    
    		RAGIONE SOCIALE:$ragionesociale
    
    		PARTITA IVA/CODICE FISCALE:$cod_part
    
    		INDIRIZZO:$indirizzo
    
    		LOCALITA:$localita
    
    		EMAIL:$email
    
    		TELEFONO:$telefono
    
    		
    
    		Per non perdere i dati ti consiglio di non cancellare questa email
    		
    
    Per completare l'iscrizione non ti resta che cliccare nel collegamento sottostante...Se
    		il collegamento non funziona, copia l'URL e incollala nella barra degli indirizzi del tuo browser(Internet explorer, firefox)
    
    		
    <p align=\"center\">
    	
    		<p align=\"right\">
    
    		Cordiali saluti
    
    		Stealk
    		</font>
    		 </td>
    	  </tr></table><hr>";
    
    $subject = "Acquisto Prodotti";
    
    
    
    mail("miamail@yahoo.it", $subject, $msg, $header );
    
    header("Refresh: 2; URL=http://www.xxxorg/m/email_inviata.html");
    }
    ?>

    Cmq il mio problema non è questo, anzi proprio quella parte funziona benissimo.
    Il problema ste nel fatto che come puoi vedere anche te qui:


    codice:
    function mostraCarrello()
    {
      global $db;
      $carrello = $_SESSION['carrello'];
      $somma = 0;
      if ($carrello)
      {
        $prodotti = @explode(',',$carrello);
        $acquisti = array();
        foreach ($prodotti as $prodotto)
        {
          $acquisti[$prodotto] = (@isset($acquisti[$prodotto])) ? $acquisti[$prodotto] + 1 : 1;
        }
        $result[] = '<form action="carrello.php?action=aggiorna" method="post" id="cart">';
        $result[] = '<table border="1" frame="border" rules="none" width="75%" align="center">';
        $result[] = '<tbody><tr>'; 
     //   $result[] = '<td width="15%">CODICE</td>';
     //   $result[] = '<td width="20%">CATEGORIA</td>';
    	  $result[] = '<td width="15%">MARCA</td>';
    	  $result[] = '<td width="20%">DESCRIZIONE</td>';
    	  $result[] = '<td width="50%">PREZZO</td>';
    	  $result[] = '<td width="50%">Q.TA</td>';
    	  $result[] = '<td width="50%">IMPORTO</td>';
        $result[] = '</tr>';
        $result[] = '<tr>'; 
    
        foreach ($acquisti as $id=>$quantita)
        {
          $sql = 'SELECT * FROM prodotti WHERE id = '.$id;
          $res = $db->query($sql);
          $f = $res->fetch();
          @extract($f);
          $result[] = '<tr>';
          
          $result[] = '<td>'.$nome.'</td>';
          $result[] = '<td>'.$marca.'</td>';
          $result[] = '<td>€'.$prezzo.'</td>';
          $result[] = '<td><input type="text" name="quantita'.$id.'" value="'.$quantita.'" size="3"></td>';
          $result[] = '<td>€'.($prezzo * $quantita).'</td>';
          $somma += $prezzo * $quantita;
          $result[] = '<td>ELIMINA</td>';
          $result[] = '</tr>';
        }
    
        $result[] = '</table>';
        $result[] = 'Totale: €'.$somma.'</br>';
        $result[] = '<button type="submit">Aggiorna il carrello</button>';
        $result[] = '</form>';
      }else{
        $result[] = 'Il carrello è vuoto.
    ';
      }
      return @join('',$result);
    }
    ?>
    in pratica vorrei visualizzare sia su ordine.php che su confermaordine.php la tabella con i dati

  6. #6
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    ascolta... (ripeto) non so se hai omesso parte del codice per spiegami dove valorizzi la variabile
    $cognome
    e
    $nome
    e
    $ragionesociale


    prima dell'if fatti stampare il loro contenuto ( poi all'altro problema lo vediamo...)

  7. #7
    queste variabili

    $cognome
    $nome
    $ragionesociale

    le valorizzo mediante inserimento in un form

  8. #8
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    nel tuo file denominato confermaordine.php come fai a acquisire il valore del campo input

    codice:
    <tr>
        <td>COGNOME:</td>
        <td><input name="cognome" type="text" size="25" maxlength="25"></td>
      </tr>
    dichiarato in ordine.php??
    dovrai pur fare un
    $cognome=$_POST['cognome'];

    ???

  9. #9
    i dati cliente non li salvo in un db, ma mi limito solamente a salvarli provvisoriamente per poterli inviare via mail..



    codice:
    <?php
    
    $msg ="Ciao Utente ";
    $msg .= "\n";
    $msg .= "\n";
    $msg .= "\n";
    $msg .= $_POST['cognome'];
    $msg .= "\n";
    $msg .= $_POST['nome'];
    $msg .= "\n";
    $msg .= $_POST['ragionesociale'];
    $msg .= "\n";
    $msg .= $_POST['indirizzo'];
    $msg .= "\n";
    $msg .= $_POST['localita'];
    $msg .= "\n";
    $msg .= $_POST['email'];
    $msg .= "\n";
    $msg .= $_POST['telefono'];
    $msg .= "\n";
    $msg .= $_POST['cod_part'];
    $msg .= "\n";

  10. #10
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    Codice PHP:
    if (trim($cognome)=="" or trim($nome)=="" or trim($ragionesociale)=="" or trim($indirizzo)=="" or trim($localita)=="" or trim($email)=="" or trim($telefono)=="" or trim($cod_part)=="") {
    echo 
    "I campi obbligatori devono essere riempiti...torna indietro"
    ma questa condizione nn sara mai soddifatta visto che
    $cognome è vuoto
    $nome è vuoto
    $ragionesociale è vuoto
    etc..

    dovresti mettere

    Codice PHP:
    if (trim($_POST['cognome'])=="" or trim($_POST['nome'])=="" or 

    no?

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.