samedi 7 mars 2015

mail() - Can't send mail using the same form twice

I've got some serious problem and i can't solve it.


In my code i have form for sending hardware information. This form inputs the values into the database and after that mail() function is called to send the same informations to customer.


If i edit my code and upload it to the server to check mail() function i can fill form, input the data in database and send mail to the customer. But if i will try to send new form, mail() function won't be called. Only sending data into the database is working. What is wrong with it?



<?php include('./../Connections/database.php'); ?>
<?php
$year = date("y");
$sprawdz = 0;
$max_rma = 1;
$nocount = 0;

$colname_get_form_user = "-1";
if (isset($_SESSION['MM_Username'])) {
$colname_get_form_user = $_SESSION['MM_Username'];
}
mysql_select_db($database_serwis, $serwis);
$query_get_form_user = sprintf("SELECT id_uzytkownika, email_uzytkownika, firma_uzytkownika, imie_uzytkownika, nazwisko_uzytkownika FROM uzytkownicy WHERE email_uzytkownika = %s", GetSQLValueString($colname_get_form_user, "text"));
$get_form_user = mysql_query($query_get_form_user, $serwis) or die(mysql_error());
$row_get_form_user = mysql_fetch_assoc($get_form_user);
$totalRows_get_form_user = mysql_num_rows($get_form_user);

mysql_select_db($database_serwis, $serwis);
$query_gett_settings = "SELECT id, nazwa_strony, mail_szefa FROM ustawienia WHERE id = 1";
$gett_settings = mysql_query($query_gett_settings, $serwis) or die(mysql_error());
$row_gett_settings = mysql_fetch_assoc($gett_settings);
$totalRows_gett_settings = mysql_num_rows($gett_settings);

mysql_select_db($database_serwis, $serwis);
$query_get_dict2 = "SELECT * FROM slowniczek";
$get_dict2 = mysql_query($query_get_dict2, $serwis) or die(mysql_error());
$row_get_dict2 = mysql_fetch_assoc($get_dict2);
$totalRows_get_dict2 = mysql_num_rows($get_dict2);

mysql_select_db($database_serwis, $serwis);
$query_get_dict = "SELECT * FROM slowniczek";
$get_dict = mysql_query($query_get_dict, $serwis) or die(mysql_error());
$row_get_dict = mysql_fetch_assoc($get_dict);
$totalRows_get_dict = mysql_num_rows($get_dict);

// emailconfig
$yourEmail = $row_gett_settings['mail_szefa']; // the email address you wish to receive these mails through
$fromEmail = "noreply@myserver.pl"; // the email address you wish to receive these mails through
$yourWebsite = $row_gett_settings['nazwa_strony']; // the name of your website
$sendmail = $row_get_form_user['email_uzytkownika'];
$dzisiaj = date("d/m/Y H:i");

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

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form_post")) {

mysql_select_db($database_serwis, $serwis);
$query_get_rma = sprintf("SELECT lp_rma, year_rma FROM zgloszenia WHERE year_rma = %s",
GetSQLValueString($year, "text"));
$get_rma = mysql_query($query_get_rma, $serwis) or die(mysql_error());
$row_get_rma = mysql_fetch_assoc($get_rma);
$totalRows_get_rma = mysql_num_rows($get_rma);


do {
if($row_get_rma['lp_rma'] >= $max_rma)
$max_rma = $row_get_rma['lp_rma']+1;
} while ($row_get_rma = mysql_fetch_assoc($get_rma));


$nazwa_sprzetu_array = $_POST['nazwa_sprzetu'];
$usterka_array = $_POST['usterka'];
$number_array = $_POST['number'];
$other_array = $_POST['other_object'];

for($i=0; $i < count($nazwa_sprzetu_array); $i++)
{
$nazwa_sprzetu = mysql_real_escape_string($nazwa_sprzetu_array[$i]);
if($nazwa_sprzetu == 0) {

$insertintoSQL = sprintf("INSERT INTO slowniczek (nazwa_obiektu) VALUES (%s)",
GetSQLValueString("*NOWE* ".$other_array[$i], "text"));
mysql_select_db($database_serwis, $serwis);
$Result2 = mysql_query($insertintoSQL, $serwis) or die(mysql_error());

mysql_select_db($database_serwis, $serwis);
$query_get_no = sprintf("SELECT * FROM slowniczek WHERE nazwa_obiektu = %s",
GetSQLValueString("*NOWE* ".$other_array[$i], "text"));
$get_no = mysql_query($query_get_no, $serwis) or die(mysql_error());
$row_get_no = mysql_fetch_assoc($get_no);
$totalRows_get_no = mysql_num_rows($get_no);

$nazwa_sprzetu = $row_get_no['id_obiektu'];

mysql_free_result($get_no);
}
$number = mysql_real_escape_string($number_array[$i]);
$usterka = mysql_real_escape_string($usterka_array[$i]);
$nocount = $nocount + 1;

$insertSQL = sprintf("INSERT INTO zgloszenia (firma_zglaszajacego, zglaszajacy, numer_sprzetu, nazwa_sprzetu, lp_rma, year_rma, opis_usterki, rma, serwisant) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s)",
GetSQLValueString($_POST['firma'], "text"),
GetSQLValueString($row_get_form_user['id_uzytkownika'], "int"),
GetSQLValueString($number, "text"),
GetSQLValueString($nazwa_sprzetu, "text"),
GetSQLValueString($max_rma, "text"),
GetSQLValueString($year, "text"),
GetSQLValueString($usterka, "text"),
GetSQLValueString($max_rma."".$year, "int"),
GetSQLValueString(0, "int"));

mysql_select_db($database_serwis, $serwis);
$Result1 = mysql_query($insertSQL, $serwis) or die(mysql_error());

}
$sprawdz = 1;
}

?>

<script type='text/javascript'>
var i = 1;

$(document).ready(function () {
toggleFields(); //call this first so we start out with the correct visibility depending on the selected form values
//this will call our toggleFields function every time the selection value of our underAge field changes
$("#dbType").change(function () {
toggleFields();
});



});
//this toggles the visibility of our parent permission fields depending on the current selected value of the underAge field
function toggleFields(src) {
if ($("#dbType"+src).val() == 0) {
$(".otherTypea"+src).show();
$(".otherTypeb"+src).show();
} else {
$(".otherTypea"+src).hide();
$(".otherTypeb"+src).hide();
}
}

function addNew() {
$(".fields:first").clone().appendTo(".wrapper");
$("#dbType"+i+":last").attr('id', 'dbType'+(i+i)).attr('onchange', 'toggleFields('+(i+i)+')');
$(".otherTypea"+i+":first").attr('class', 'otherTypea'+(i+i));
$(".otherTypeb"+i+":first").attr('class', 'otherTypeb'+(i+i));
i++;
console.log(i);
}
</script>


<section class="sekcja">
<h2>Formularz zgłoszeniowy</h2>
<hr class="haer">

<?php if($sprawdz == 1) {

$subject = 'Zgłoszenie nowej usterki';

$message = "<div style='width: 100%;'>Otrzymałeś tę wiadomość jako potwierdzenie wypełnienia formularza zgłoszenia naprawy. <br><br>";
$message .= "Data zgłoszenia: ".date("d-m-Y H:i:s", strtotime($dzisiaj))."<br>Firma: ".$_POST['firma']."<br>Imie i nazwisko: ".$row_get_form_user['imie_uzytkownika']." ".$row_get_form_user['nazwisko_uzytkownika']."<br>Email: ".$row_get_form_user['email_uzytkownika']."<br>Liczba urządzeń: ".$nocount."<br><br>";
$message .= "Listę zgłoszonych napraw możesz zobaczyć w swoim Panelu pod numerem <b>RMA: ".$max_rma."".$year."</b><br>";
$message .= "<br>Mail został wygenerowany automatycznie. Prosimy na niego nie odpowiadać.</div>";



if (strstr($_SERVER['SERVER_SOFTWARE'], "Win")) {
$headers = "From: $fromEmail\r\n";
} else {
$headers = "From: $yourWebsite <$fromEmail>\r\n";
}
$headers .= "Reply-To: $fromEmail \r\n";
$headers .= "Content-Type: text/html; charset=utf-8";


if(!mail(''.$yourEmail.','.$sendmail.'',$subject,$message,$headers,"-f noreply@myserver.pl"))
{
die("Not sending mail");
var_dump();
} else {
echo ("Email success");
}
?>
<div class="success-dialog">
Zgłoszenie zostało przyjęte.
</div>
<?php } echo $nocount; ?>

<p>Pola zaznaczone <span class="red_dot">*</span> są wymagane.
<form method="POST" class="form" name="form_post" action="<?php echo $editFormAction; ?>">
<div class="wrapper">
<div class="fields">
<table>
<tr>
<td><label for="nazwa_sprzetu">Nazwa sprzętu<span class="red_dot"> *</span></label></td>
<td>
<select name="nazwa_sprzetu[]" id="dbType1" onChange="toggleFields(1)">
<option >Wybierz z listy</option>
<option >----------------</option>
<?php do { ?>
<option value="<?php echo $row_get_dict['id_obiektu']; ?>"><?php echo $row_get_dict['nazwa_obiektu']; ?></option>
<?php } while($row_get_dict = mysql_fetch_assoc($get_dict)); ?>
<option value="0">Inne</option>
</select>
</td>
</tr>

<tr>
<td><div class="otherTypea1" style="display: none;"><label for="other_object">Wpisz nazwę</label></div></td>
<td><div class="otherTypeb1" style="display: none;"><input type="text" name="other_object[]"></div></td>

</tr>
<td><label for="number">Numer sprzętu</label></div></td>
<td><input type="text" name="number[]"></div></td>
<tr>

</tr>
<tr>
<td><label for="usterka">Opis usterki<span class="red_dot"> *</span></label></td>
<td><textarea class="mceNoEditor" name="usterka[]" required></textarea></td>
<td><input class="poltora-input" type="hidden" name="firma" value="<?php echo $row_get_form_user['firma_uzytkownika']; ?>"></td>

</tr>

</table>
</div>
</div>
<p class="submit">
<input type="submit" name="submit" value="Wyślij">
</p>
<input type="hidden" name="MM_insert" value="form_post">
<input id="addMore" onClick="addNew()" type="button" value="Dodaj koleny sprzęt">
</form>
</section>

<?php
mysql_free_result($get_form_user);
mysql_free_result($gett_settings);
mysql_free_result($get_dict2);
mysql_free_result($get_dict);
if($sprawdz == 1) {
mysql_free_result($get_rma);
}

?>


Sorry for my bad english.


Aucun commentaire:

Enregistrer un commentaire