Inserimento dati in database

ci_provo

Nuovo Utente
12 Feb 2010
29
0
0
bUONGIORNO AVREI DEI PROBLEMI NELL'INSERIRE DEI DATI DI UN FORM NEL DATABASE DOPO AVERLI SPEDITI VIA MAIL CON PHPMAIL.
PREMETTO CHE USO DREAMWEAVER, LA QUERY è GIUSTA LA COSA CHE MI DA ERRORE è QUESTA:
PHP:
<form name="form" action="<?php echo $editFormAction ="PHPMailer/config_mail_richiesta_prova.php"; ?>" method="POST">
QUANDO AGGIUNGO IL PERCORSO DELL'EMAIL NON MI SCRIVE PIù NEL DATABASE
GRAZIE IN ANTICIPO PER L'ATTENZIONE.
 
Prova a fare cosi':

<? echo $editFormAction = "PHPMailer/config_mail_richiesta_prova.php"; ?>
<form name="form" action="<? echo $editFormAction; ?>" method="POST">

Non ti assicuro niente, lascio la parola agli esperti.
Fammi sapere pero' :)
 
ciao
un paio di osservazioni
se il nome dell'action deve essere sempre quello perchè usi l'ambaradan dell'echo?
potresti semplicemente
HTML:
<form name="form" action="PHPMailer/config_mail_richiesta_prova.php" method="POST">

l'altra riguarda più l'organizzazione (almeno dal mio punto di vista): perche vai a mettere un file dentro la cartella di phpmailler?
secondo me "ogni cosa al suo posto, ogni posto alla sua cosa"

p.s.
racchiudete sempre il codice negli appositi tag
 
Ciao borgo grazie per il tuo intervento.
questa è la query per l'inserimento nel database che si trova nella stessa pagina del form, perchè dreamweaver la crea solo in presenza di un form.
e questo <?php echo $editFormAction; ?> lo mette lui di default per scrivere nel database
PHP:
<?php include('function.php'); ?>
<?php require_once('Connections/fitnesscenter.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form")) {
  $insertSQL = sprintf("INSERT INTO richieste_prova (nome, cognome, email, telefono, attivita) VALUES (%s, %s, %s, %s, %s)",
                       GetSQLValueString($_POST['nome'], "text"),
                       GetSQLValueString($_POST['cognome'], "text"),
                       GetSQLValueString($_POST['email'], "text"),
                       GetSQLValueString($_POST['telefono'], "text"),
                       GetSQLValueString($_POST['attivita'], "text"));

  mysql_select_db($database_fitnesscenter, $fitnesscenter);
  $Result1 = mysql_query($insertSQL, $fitnesscenter) or die(mysql_error());

  $insertGoTo = "PHPMailer/config_mail_richiesta_prova.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
}

?>
qui ho l'invio della mail con allegato che il nome della pagina "PHPMailer/config_mail_richiesta_prova.php"

PHP:
<?php

$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$email = $_POST['email'];
$attivita = $_POST['attivita'];
$telefono = $_POST['telefono'];
require_once("class.phpmailer.php");


$mail = new PHPMailer(); // defaults to using php "mail()"
$mail->AddAddress('info@mdstudioweb.com',"$nome $cognome");
$mail->SetFrom('info@mdstudioweb.com', 'Romafitnesscenter');
//$mail->AddReplyTo($email,"First Last");
//$address = "whoto@otherdomain.com";
$mail->AddAddress($email,"Romafitnesscenter");
$mail->Subject = "Richiesta prova gratuita";
$mail->MsgHTML("Richiesta inserita da:</br>
Nome:$nome</br>
Cognome:$cognome</br>
Telefono:$telefono</br>
E-Mail:$email</br>
Attivit&agrave;:$attivita</br>");

$mail->AddAttachment("../pdf/UniCredit.pdf");      // attachment
//$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment

if(!$mail->Send()) {
  echo "Mailer Error: " . $mail->ErrorInfo;
} else {
  echo "<strong>Grazie per averci contattato!!!</strong>, il tuo messaggio &egrave; stato inviato correttamente, a breve riceverai un email di conferma stampa l'allegato e presentati con lo stesso nel centro da te scelto.
Tra qualche istante sarai reindirizzato nella Home Page.";
}
?>
<meta http-equiv="refresh" content="10;URL=../index.php" />
 
ciao
credo che il tuo problema nasca dal fatto che probabilmente usi un'ultima versione di dream che, come tutti gli automatismi, fa quello che piace a lui e non quello che piace a te.
è evidente che o ti fa una cosa o ti fa l'altra (benedetti automatismi)
l'action del form punta o alla pagina stessa o ad un altra pagina, se lo fai puntare ad un'altra pagina ti salta quello che hai nella pag del form.
ti faccio un esempio semplice
pag. form.php

PHP:
<?php
if(isset($_POST['invia'])){
echo "sono alla pag form.php, ho scritto: ".$_POST['pinco'];
}
?>
<form action="pag_email.php" method="post">
scrivi<input name="pinco" type="text"><br>
<input name="invia" type="submit">
</form>
pag. pag_email.php
PHP:
<?php
echo "sono alla pag pag_email.php, ho scritto: ".$_POST['pinco'];
?>
tu vedrai in out solamente
sono alla pag pag_email.php, ho scritto: quello che voglio
e l'istruzione della pag form.php
echo "sono alla pag form.php, ho scritto: ".$_POST['pinco'];
non sarà mai eseguita
analogamente se nell'action metti
<form action="form.php" method="post">
vedrai sempre solo
sono alla pag form.php, ho scritto: quello che voglio

quindi ho metti l'invio dell'email nella stessa pagina (form.php con l'action="form.php") o l'insert nel db nella pag pag_email.php (action="pag_email.php")
 
in effetti è vero, stavo proprio lavornado in quel senso cioè mettere l'insert nell'invio dell'email ma non credo di farcela così su due piedi, al contrario se inserisco l'email nella pagina del form mi dà un mare di problemi, comunque provo e se non riesco chiederò aiuto grazie mille siete gentilissimi.:byebye:
 

Discussioni simili