Slave a tutti ho un problema con un un codice php ,premetto che questo codice lo trovato in rete ma vorrei che compie alcune funzioni che non ci sono ,tipo controllo email esistente e non va risciversi nel mysql e controllo from email che sia giusta,
il programma si presente con questi file:
form.php
config.php
connect.php
form.php
[PHP]<?php
if($_POST) {
inserisci_record();
}
else {
mostra_form();
}
function inserisci_record()
{
// richiamo il file di configurazione
require 'config.php';
// richiamo lo script responsabile della connessione a MySQL
require 'connect.php';
// recupero i campi di tipo "stringa"
$nome = trim($_POST['nome']);
$email = trim($_POST['email']);
$messaggio = trim($_POST['messaggio']);
// verifico se devo eliminare gli slash inseriti automaticamente da PHP
if(get_magic_quotes_gpc())
{
$nome = stripslashes($nome);
$email = stripslashes($email);
$messaggio = stripslashes($messaggio);
}
$nome = mysql_real_escape_string($nome);
$email = mysql_real_escape_string($email);
$messaggio = mysql_real_escape_string($messaggio);
// recupero gli altri campi del form
$sesso = isset($_POST['sesso']) ? intval($_POST['sesso']) : 0;
$newsletter = isset($_POST['newsletter']) ? 1 : 0;
$attivita = intval($_POST['attivita']);
// verifico la presenza dei campi obbligatori
if(!$nome)
{
$messaggio = urlencode("Non hai inserito il nome");
header('location: '.$_SERVER['PHP_SELF'].'?msg='.$messaggio);
exit;
}
// preparo la query
$query = "INSERT INTO utenti (nome,email,sesso,newsletter,attivita,messaggio)
VALUES ('$nome','$email',$sesso,$newsletter,$attivita,'$messaggio')";
// invio la query
$result = mysql_query($query);
// controllo l'esito
if (!$result) {
die("Errore nella query $query: " . mysql_error());
}
// recupero l'id autoincrement generato da MySQL per il nuovorecord inserito
$id_inserito = mysql_insert_id();
// chiudo la connessione a MySQL
mysql_close();
$messaggio = urlencode("Inserimento effettuato con successo (ID=$id_inserito)");
header('location: '.$_SERVER['PHP_SELF'].'?msg='.$messaggio);
}
function mostra_form()
{
// mostro un eventuale messaggio
if(isset($_GET['msg']))
echo '<b>'.htmlentities($_GET['msg']).'</b><br /><br />';
?>
<form name="form_registrazione" method="post" action="">
<label>nome:
<input name="nome" type="text" />
</label>
(obbligatorio)
<p>
<label>email:
<input name="email" type="text" />
</label>
</p>
<p> Sesso:
<label>
<input type="radio" name="sesso" value="1" />
M</label>
<label>
<input type="radio" name="sesso" value="2" />
F</label>
</p>
<p>
<label>inviami newletter:
<input name="newsletter" type="checkbox" value="1" />
</label>
</p>
<p>
<label>attività:
<select name="attivita">
<option value="0">:: seleziona ::</option>
<option value="1">studente</option>
<option value="2">lavoratore</option>
<option value="3">disoccupato</option>
</select>
</label>
</p>
<p>
<label>messaggio:<br />
<textarea name="messaggio" cols="40" rows="5"></textarea>
</label>
</p>
<p>
<input name="invia" type="submit" value="Invia" />
</p>
</form>
<?php
}
?>][/PHP]
config.php
[PHP]<?php
$DB_host = 'localhost';
$DB_user = 'root';
$DB_password = '';
$DB_name = 'prova';
?>[/PHP]
connect.php
[PHP]<?php
$link = mysql_connect($DB_host, $DB_user, $DB_password);
if (!$link) {
die ('Non riesco a connettermi: ' . mysql_error());
}
$db_selected = mysql_select_db($DB_name, $link);
if (!$db_selected) {
die ("Errore nella selezione del database: " . mysql_error());
}
?>[/PHP]
questo il codice sinceramente non so cosa modificare per far fare controlli sopra.
Grazie a tutti per aiuto