form mail con mysql

Emanuele Palmieri

Nuovo Utente
17 Set 2012
14
0
0
49
Roma
www.ulietto.it
Salve, premetto che non sono bravo sul php, cerco i code su internet ma crearne di mio non so farlo.
Allora io per fare siti uso websitex5 e ha lapossibilità di creare form per invi odelle email, e sul settaggio mi da 3 possibilità: quella di inviare il form sulla mia email, su un file txt e su un database mysql, ecco proprio sul database mi serve questo aiuto.
Ho creato sul database una tabella chiamata email_web poi ho creato (code trovato su internet) un file .php con dentro questo code:

Codice:
<?php
define("DB_HOST", 'localhost'); 
define("DB", 'database_name');
define("DB_USER", 'database_user');
define("DB_PW", 'password');

mysql_connect(DB_HOST, DB_USER, DB_PW);
mysql_select_db(DB);

$query="select * from email_web";
$result= mysql_query($query);
*$numfields = mysql_num_fields($result);

echo "<table>\n<tr>";
for ($i=0; $i < $numfields; $i++) 
  { 
   echo '<th>'.mysql_field_name($result, $i).'</th>'; 
   }
   echo "</tr>\n";
   
   while ($row = mysql_fetch_row($result)) 
  { 
   echo '<tr><td>'.implode($row,'</td><td>')."</td></tr>\n"; 
  }
echo "</table>\n";
  ?>

funziona tutto solo che invece di darmi "NOME EMAIL SITO INFO" lui mi scrive "field_1 field_2 field_3 etc etc" link PROVA ora mi va bene che mi mette tutto in un unica riga, chiaramente quando qualcuno ricompila il form si aggiunge sotto solo i dati non field_1 etc, vorrei che me lo scrive con "NOME EMAIL SITO INFO" al posto di field_1 field_2 etc etc, e dentro una tabella, è possibile farmi questa correzione gentilmente sul mio code? io non saprei come fare....
Grazie un saluto attendo una vostra risposta.
 
Ultima modifica:
ciao
da che ne so la funzione mysql_field_name estrae i nomi dei campi di una tabella, se ti estrae field_1, field_2 ecc... vuol dire che i campi si chiamano in quella maniera
se si chiamano così o cambi i nomi nella tabella o invece di estrarli li scrivi direttamente
PHP:
<?php
//....
echo "<table>\n";
echo "<tr><th>NOME</th><th>EMAIL</th><th>SITO</th><th>INFO</th></tr>";
//....
?>
 
dentro la tabella li mette lui con field_1 filed_2 è il code che lo fa, ora mi hai scritto questo code, come scritto non sono pratico quindi nn saprei coem modificarlo non è che gentilmente mi incolleresti il code per intero cosi lo provo? grazie mille.
 
ciao
PHP:
<?php
define("DB_HOST", 'localhost'); 
define("DB", 'database_name');
define("DB_USER", 'database_user');
define("DB_PW", 'password');
mysql_connect(DB_HOST, DB_USER, DB_PW);
mysql_select_db(DB);
$query="select * from email_web";
$result= mysql_query($query);
//$numfields = mysql_num_fields($result);
echo "<table>";
echo "<tr><th>NOME</th><th>EMAIL</th><th>SITO</th><th>INFO</th></tr>";
while ($row = mysql_fetch_row($result)){ 
	echo '<tr><td>'.implode($row,'</td><td>')."</td></tr>"; 
}
echo "</table>";
?>

p.s.
usa il tag adatto per formattare il codice, se php ultima iconcina
 
ciao
cosa si può fare in modo di farlo entrare tutto dentro tabella?
non capisco cosa intendi, i dati sono già dentro una tabella (<table>), intendi forse che vengano presentati in modo graficamente migliore? se si, devi usare i css
 
ciao
ehm, ehem....
premetto che non sono bravo sul php, cerco i code su internet ma crearne di mio non so farlo
spero i css si, almeno qualcosina.
comunque se ti fai una classe css poi la attriduisci alla table e/o ai tag th e/o tr e/o td
PHP:
<?php
//......
echo "<table class=\"pinco\">";
echo "<tr><th>NOME</th><th>EMAIL</th><th>SITO</th><th>INFO</th></tr>";
while ($row = mysql_fetch_row($result)){ 
    echo '<tr><td>'.implode($row,'</td><td>')."</td></tr>"; 
}
echo "</table>";
?>
 
ciao
echo un esempio
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Documento senza titolo</title>
<!-- se la pg ha già un folio di stile etsreno puoi modificare quello-->
<style type="text/css">
.tab{
	font-family:Arial, Helvetica, sans-serif;
	color:#000000;
}
.intesta{
	background-color:#999999;
	color:#FF0000;
	font-weight:bold;
}
</style>
</head>
<body>
<!-- qui immagino avrai la parte del form -->
<?php
define("DB_HOST", 'localhost'); 
define("DB", 'database_name');
define("DB_USER", 'database_user');
define("DB_PW", 'password');
mysql_connect(DB_HOST, DB_USER, DB_PW);
mysql_select_db(DB);
$query="select * from email_web";
$result= mysql_query($query);
//$numfields = mysql_num_fields($result);
echo "<table class=\"tab\">";
echo "<tr class=\"intesta\"><th>NOME</th><th>EMAIL</th><th>SITO</th><th>INFO</th></tr>";
while ($row = mysql_fetch_row($result)){ 
    echo '<tr><td>'.implode($row,'</td><td>')."</td></tr>"; 
}
echo "</table>";
?> 
</body>
</html>
 
ciao
dentro il tag <style type="text/css">...</style>
prova ad aggiungere
HTML:
th, td{
	border-color:#666666;
	border-width:2px;
	border-style:solid;
	text-align:center;
}
dovrebbe prendere tutti i th e td della tabella
 
ciao
non dipende dai css, ma verifica, puoi farlo con phpadmin, che nella tabella email_web tu non abbia dei record vuoti e se li hai cancellali
 
Si infatti avevo due campi vuoti nel database, ora posto il code completo per chi ne volesse fare uso, intanto grazie per l'aiuto.

PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<title>Documento senza titolo</title> 

<style type="text/css"> 
.tab{ 
    font-family:Arial, Helvetica, sans-serif; 
    color:#000000; 
}
.intesta{ 
    background-color:#999999; 
    color:#FF0000; 
    font-weight:bold; 
} 
th, td{
	border-color:#666666;
	border-width:1px;
	border-style:solid;
	text-align:center;
} 
</style> 
</head> 
<body> 
 
<?php 
define("DB_HOST", 'localhost');  
define("DB", 'db_name'); 
define("DB_USER", 'db_user'); 
define("DB_PW", 'password'); 
mysql_connect(DB_HOST, DB_USER, DB_PW); 
mysql_select_db(DB); 
$query="select * from email_web"; 
$result= mysql_query($query); 
//$numfields = mysql_num_fields($result); 
echo "<table class=\"tab\">"; 
echo "<tr class=\"intesta\"><th>NOME</th><th>EMAIL</th><th>SITO</th><th>INFO</th></tr>"; 
while ($row = mysql_fetch_row($result)){  
    echo '<tr><td>'.implode($row,'</td><td>')."</td></tr>";  
} 
echo "</table>"; 
?>  
</body> 
</html>

Si crea dentro al database mysql una tabella chiamata "email_web" creare una pagina php e incollare il code sopra, considerando che il form io lo creo col programma "WEBSITE X5"
i campi sono "NOME EMAIL SITO INFO" poi a secondo delle sue esigenze se lo modifica.
 

Discussioni simili