Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
vivo X300 Pro rappresenta un'evoluzione misurata della serie fotografica del produttore cinese, con un sistema di fotocamere migliorato, chipset Dimensity 9500 di ultima generazione e l'arrivo dell'interfaccia OriginOS 6 anche sui modelli internazionali. La scelta di limitare la batteria a 5.440mAh nel mercato europeo, rispetto ai 6.510mAh disponibili altrove, fa storcere un po' il naso
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2 è la nuova handheld PC gaming con processore AMD Ryzen Z2 Extreme (8 core Zen 5/5c, GPU RDNA 3.5 16 CU) e schermo OLED 8,8" 1920x1200 144Hz. È dotata anche di controller rimovibili TrueStrike con joystick Hall effect e una batteria da 74Wh. Rispetto al dispositivo che l'ha preceduta, migliora ergonomia e prestazioni a basse risoluzioni, ma pesa 920g e costa 1.299€ nella configurazione con 32GB RAM/1TB SSD e Z2 Extreme
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
A re:Invent 2025, AWS mostra un’evoluzione profonda della propria strategia: l’IA diventa una piattaforma di servizi sempre più pronta all’uso, con agenti e modelli preconfigurati che accelerano lo sviluppo, mentre il cloud resta la base imprescindibile per governare dati, complessità e lock-in in uno scenario sempre più orientato all’hybrid cloud
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 30-08-2007, 02:05   #1
Traxsung
Senior Member
 
L'Avatar di Traxsung
 
Iscritto dal: Apr 2005
Messaggi: 5245
[PHP] Problemone urgente

Ragazzi ho un superproblemone, ma credo che per voi sarà una schiocchezza.

In pratica ho uno script formato da tre parti:

funzioni.php
ordine.php
confermaordine.php


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\">
  
      <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.<br>';
  }else{
    $prodotti = @explode(',',$carrello);
    return 'Ci sono <a href="carrello.php">'.
    @count($prodotti). ' prodotti nel carrello.</a><br>';
  }
}

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="90%" align="center">';
    $result[] = '<tbody><tr>'; 
 //   $result[] = '<td width="15%"><b>CODICE</b></td>';
 //   $result[] = '<td width="20%"><b>CATEGORIA</b></td>';
	  $result[] = '<td width="15%"><b>COD</b></td>';
	  $result[] = '<td width="50%"><b>MARCA</b></td>';
	  $result[] = '<td width="20%"><b>PREZZO</b></td>';
	  $result[] = '<td width="50%"><b>Q.TA</b></td>';
	  $result[] = '<td width="50%"><b>IMPORTO</b></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>' . substr($cod, 0, 19) . '</td>';
      $result[] = '<td>'.$nome.'</td>';
      $result[] = '<td>&euro;'.$prezzo.'</td>';
      $result[] = '<br><td><input type="text" name="quantita'.$id.'" value="'.$quantita.'" size="3"></td>';
      $result[] = '<td>&euro;'.($prezzo * $quantita).'</td>';
      $somma += $prezzo * $quantita;
      $result[] = '<td><a href="carrello.php?action=cancella&id='.$id.'">ELIMINA</a></td>';
      $result[] = '</tr>';
    }

    $result[] = '</table>';
    $result[] = 'Totale: <b>&euro;'.$somma.'</b></br>';
    $result[] = '<button type="submit">Aggiorna il carrello</button>';
    $result[] = '</form>';
  }else{
    $result[] = 'Il carrello è vuoto.<br>';
  }
  return @join('',$result);
}
?>

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><b>COGNOME:</b></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>

<br>

<br>

<a href="index.php"><img src="btn_backshop.gif\"></a>

<input name="invia il modulo" type="image" src="btn_confermaordine.gif">

</form>

</body>

</html>

<?php bottom(); ?>

confermaordine.php

Codice:
<?php
@session_start();
require_once 'funzioni.php';





$msg ="Ciao Giuseppe ";

$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";

$msg .= $_SESSION[cod];




//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 " <b>$email</b> 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);

$msg .= mostraCarrello();

$header = "From:<[email protected]>\n";

$header .= "Reply-To:<[email protected]>\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\"><br>Ciao <b>$cognome $nome</b>, Stealk è felice di darti il suo benvenuto

		<br><p align=\"justify\">Portando a termine l'iscrizione potrai subito acquistare i nostri prodotti effettuando il login<br>

		Per effettare il login basta inserire la username e la password da te scelte negli appositi campi della sezione situata nella colonna sinistra<br>

		<br>

		<br>

		<b>DATI PER LA SPEDIZIONE</b><br>

		<br>

		COGNOME:<b>$cognome</b><br>

		NOME:<b>$nome</b><br>

		RAGIONE SOCIALE:<b>$ragionesociale</b><br>

		PARTITA IVA/CODICE FISCALE:<b>$cod_part</b><br>

		INDIRIZZO:<b>$indirizzo</b><br>

		LOCALITA:<b>$localita</b><br>

		EMAIL:<b>$email</b><br>

		TELEFONO:<b>$telefono</b><br>
		
		

		<br>

		Per non perdere i dati ti consiglio di non cancellare questa email

		<br><br>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)<br>

		<br><p align=\"center\">

	

		<p align=\"right\">



		Cordiali saluti<br>

		<i>Traxsung</i>

		</font>

		 </td>

	  </tr></table><hr>";
	  
	



$subject = "Acquisto Prodotti";







mail("[email protected]", $subject, $msg, $header );





//}

?>

In pratica questo script è così composto: Scelgo i prodotti li aggiunge al carrello, poi compilo ordine.php ed infine con confermaordine.php mi arriva l'emai con i dati del cliente.

Adesso vorre aggiungere anche la lista dei prodotti ordinati (magari sotto forma di tabella) ma purtroppo non so come si fa


Mi aiutate perfavore??


Grazie

Traxsung
Traxsung è offline   Rispondi citando il messaggio o parte di esso
Old 30-08-2007, 18:02   #2
Traxsung
Senior Member
 
L'Avatar di Traxsung
 
Iscritto dal: Apr 2005
Messaggi: 5245
Ragazzi potete aiutarmi perfavore ??
Traxsung è offline   Rispondi citando il messaggio o parte di esso
Old 31-08-2007, 12:26   #3
Traxsung
Senior Member
 
L'Avatar di Traxsung
 
Iscritto dal: Apr 2005
Messaggi: 5245
nessuno ??
Traxsung è offline   Rispondi citando il messaggio o parte di esso
Old 01-09-2007, 13:38   #4
Traxsung
Senior Member
 
L'Avatar di Traxsung
 
Iscritto dal: Apr 2005
Messaggi: 5245
ragazzi ho veramente bisogno di un aiutino
Traxsung è offline   Rispondi citando il messaggio o parte di esso
Old 02-09-2007, 14:02   #5
Traxsung
Senior Member
 
L'Avatar di Traxsung
 
Iscritto dal: Apr 2005
Messaggi: 5245
ragazzi... ma il php in questo forum non lo usa nessuno ??
Ho veramente bisogno d'aiuto....
Traxsung è offline   Rispondi citando il messaggio o parte di esso
Old 03-09-2007, 00:03   #6
shining_grin
Junior Member
 
Iscritto dal: Aug 2007
Messaggi: 29
Codice:
$msg .= mostraCarrello();

$header = "From:<[email protected]>\n";

$header .= "Reply-To:<[email protected]>\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>
Premetto che di php so poco e niente, però provo a darti una mano cmq...

Da questa parte di codice vedo che alla fine il sottoprogramma mostraCarrello lo chiami e il risultato lo accodi alla variabile $msg.
Poi però quella variabile la sovrascrivi totalmente.
Non sarebbe il caso di provare a chiamare in modo diverso la variabile dove inserisci tutto il codice html e inserirci dentro anche la variabile $msg che hai creato prima?
shining_grin è offline   Rispondi citando il messaggio o parte di esso
Old 03-09-2007, 00:23   #7
Traxsung
Senior Member
 
L'Avatar di Traxsung
 
Iscritto dal: Apr 2005
Messaggi: 5245
intanto grazie per la risposta.
Puoi spiegarmi meglio ???
Traxsung è offline   Rispondi citando il messaggio o parte di esso
Old 07-09-2007, 00:50   #8
Traxsung
Senior Member
 
L'Avatar di Traxsung
 
Iscritto dal: Apr 2005
Messaggi: 5245
ragazzi cerco aiuto pagando per il disturbo anche
Traxsung è offline   Rispondi citando il messaggio o parte di esso
Old 10-09-2007, 15:52   #9
waielsi
Member
 
L'Avatar di waielsi
 
Iscritto dal: Mar 2001
Città: Dublin, Ireland (ROI)
Messaggi: 100
ehila...

non so se hai gia' risolto..

cmq io fossi in te mi rivedrei un po' il modo di programmare... HTML innestato con PHP... brrrr.. certo questione di gusti pero' cosi' una qualsiasi "applicazione" e' ingestibile.

anyway.. come ti e' stato suggerito
usa la funzione mostraCarrello(), gli strippi tutto l'html e lo concateni al testo dell'email.

dov'e' la difficolta'??

forse ho capito io male la logica della tua applicazione, ma nn vedo nessuna complicazione o cosa difficile visto che hai fatto tutto il resto (l'hai fatto tu vero?)
__________________
Imagination is more important than knowledge. A. Einstein
waielsi è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria Recensione vivo X300 Pro: è ancora lui il...
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'...
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti AWS re:Invent 2025: inizia l'era dell'AI-as-a-Se...
Cos'è la bolla dell'IA e perché se ne parla Cos'è la bolla dell'IA e perché se...
BOOX Palma 2 Pro in prova: l'e-reader diventa a colori, e davvero tascabile BOOX Palma 2 Pro in prova: l'e-reader diventa a ...
iPhone Fold: scorte limitate al lancio m...
OpenAI porterà la pubblicità in ChatGPT ...
TSMC aumenterà ancora i prezzi: nel 2026...
Marvel pubblica anche il secondo teaser ...
Nuovo accordo tra xAI e il Pentagono: l'...
La famiglia Xiaomi 17 sta per registrare...
Nuove auto elettriche che vedremo sul me...
E-bike illegali, a Verona il più ...
Quali sono i giochi più venduti su Steam...
HONOR sta per lanciare un nuovo smartpho...
Jared Isaacman sarà alla guida de...
Il Tesla Cybertruck non arriverà ...
Xiaomi Watch 5 è ufficiale: architettura...
CD Projekt vende GOG: il co-fondatore Mi...
Il meglio di Amazon in 26 prodotti, aggi...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 23:12.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v