// her følger sikringen mod spambotter !strpos($_POST['navn'], "dit_domain.dk") && // tjek, at dit domæne ikke er skrevet i feltet "navn" !strpos($_POST['email'], "dit_domain.dk") && // tjek, at dit domæne ikke er skrevet i feltet "email" !strpos($_POST['navn'], "@") && // tjek, at der ikke er et @ i "navn" !eregi("\r",$_POST['navn']) && // tjek, at der ikke er "vogn-retur" i "navn" !eregi("\n",$_POST['navn']) && // tjek, at der ikke er "linjeskift" i "navn" !eregi("\r",$_POST['email']) && // tjek, at der ikke er "vogn-retur" i "email" !eregi("\n",$_POST['email'])) // tjek, at der ikke er "linjeskift" i "email"
; if (@mail("webshop@odderloppetorv.dk", strip_tags($_POST['navn']." ". $_POST['efternavn']), stripslashes(strip_tags($body)), $headers)) { echo "Tak for din bestilling.<br /> Vi vil svarer inden for 24 timer."; } else { echo "<p>Bestillingen blev ikke sendt. Der skete en fejl. Prøv igen!</p>"; } } else { echo "<p>Bestillingen kunne ikke modtages, alle felter skal udfyldes korrekt!</p>"; } }
#0 >Jeg har lige opdateret til mysqli, men nu dur min mailform ikke. der er ikke noget i den i #0 viste code der er afh. af noget sql API
det er altid en god ide at fjerne alt undertrykkelse af fejl / advarsler under udvikling så som viperine skrev fjern @ i if (@$_POST['customer_copy']) { if (@mail("webshop@odderloppet
så længe du fejlfinder
en stor del af debugging er de fejl/advassler der udskrives, dertil kommer så rutinen så under udvikling slå error og warning til
mysqli_select_db($hellestrik, "SELECT * FROM grundside WHERE id = 1"); $query_rsGrundside = "SELECT * FROM grundside WHERE id = 1"; $rsGrundside = mysqli_query($hellestrik, $query_rsGrundside) or die(mysql_error()); $row_rsGrundside = mysqli_fetch_assoc($rsGrundside); $totalRows_rsGrundside = mysqli_num_rows($rsGrundside);
$colname_rsNy_topmenu = "-1"; if (isset($_GET['u'])) { $colname_rsNy_topmenu = $_GET['u']; } mysqli_select_db($hellestrik, "SELECT * FROM topmenu WHERE u = %s"); $query_rsNy_topmenu = sprintf("SELECT * FROM topmenu WHERE u = %s", GetSQLValueString($colname_rsNy_topmenu, "int")); $rsNy_topmenu = mysqli_query($hellestrik, $query_rsNy_topmenu) or die(mysql_error()); $row_rsNy_topmenu = mysqli_fetch_assoc($rsNy_topmenu); $totalRows_rsNy_topmenu = mysqli_num_rows($rsNy_topmenu);
$colname_rsKurv = "-1"; if (isset($_GET['privat'])) { $colname_rsKurv = $_GET['privat']; } mysqli_select_db($hellestrik, "SELECT * FROM varebruger WHERE privat = %s"); $query_rsKurv = sprintf("SELECT * FROM varebruger WHERE privat = %s", GetSQLValueString($colname_rsKurv, "text")); $rsKurv = mysqli_query($hellestrik, $query_rsKurv) or die(mysql_error()); $row_rsKurv = mysqli_fetch_assoc($rsKurv); $totalRows_rsKurv = mysqli_num_rows($rsKurv);
$colname_rsSlet_ordre = "-1"; if (isset($_GET['prisid'])) { $colname_rsSlet_ordre = $_GET['prisid']; } mysqli_select_db($hellestrik, "SELECT * FROM varebruger WHERE prisid = %s"); $query_rsSlet_ordre = sprintf("SELECT * FROM varebruger WHERE prisid = %s", GetSQLValueString($colname_rsSlet_ordre, "int")); $rsSlet_ordre = mysqli_query($hellestrik, $query_rsSlet_ordre) or die(mysql_error()); $row_rsSlet_ordre = mysqli_fetch_assoc($rsSlet_ordre); $totalRows_rsSlet_ordre = mysqli_num_rows($rsSlet_ordre);
$colname_rsAntal1 = "-1"; if (isset($_GET['prisid'])) { $colname_rsAntal1 = $_GET['prisid']; } mysqli_select_db($hellestrik, "SELECT SUM(antal) FROM varebruger WHERE prisid = %s"); $query_rsAntal1 = sprintf("SELECT SUM(antal) FROM varebruger WHERE prisid = %s", GetSQLValueString($colname_rsAntal1, "int")); $rsAntal1 = mysqli_query($hellestrik, $query_rsAntal1) or die(mysql_error()); $row_rsAntal1 = mysqli_fetch_assoc($rsAntal1); $totalRows_rsAntal1 = mysqli_num_rows($rsAntal1);
$colname_rsPris = "-1"; if (isset($_GET['prisid'])) { $colname_rsPris = $_GET['prisid']; } mysqli_select_db($hellestrik, "SELECT SUM(pris) from varebruger where prisid = %s"); $query_rsPris = sprintf("SELECT SUM(pris) from varebruger where prisid = %s", GetSQLValueString($colname_rsPris, "int")); $rsPris = mysqli_query($hellestrik, $query_rsPris) or die(mysql_error()); $row_rsPris = mysqli_fetch_assoc($rsPris); $totalRows_rsPris = mysqli_num_rows($rsPris); ?>
// her følger sikringen mod spambotter !strpos($_POST['navn'], "dit_domain.dk") && // tjek, at dit domæne ikke er skrevet i feltet "navn" !strpos($_POST['email'], "dit_domain.dk") && // tjek, at dit domæne ikke er skrevet i feltet "email" !strpos($_POST['navn'], "@") && // tjek, at der ikke er et @ i "navn" !eregi("\r",$_POST['navn']) && // tjek, at der ikke er "vogn-retur" i "navn" !eregi("\n",$_POST['navn']) && // tjek, at der ikke er "linjeskift" i "navn" !eregi("\r",$_POST['email']) && // tjek, at der ikke er "vogn-retur" i "email" !eregi("\n",$_POST['email'])) // tjek, at der ikke er "linjeskift" i "email"
; if (@mail("webshop@odderloppetorv.dk", strip_tags($_POST['navn']." ". $_POST['efternavn']), stripslashes(strip_tags($body)), $headers)) { echo "Tak for din bestilling.<br /> Vi vil svarer inden for 24 timer."; } else { echo "<p>Bestillingen blev ikke sendt. Der skete en fejl. Prøv igen!</p>"; } } else { echo "<p>Bestillingen kunne ikke modtages, alle felter skal udfyldes korrekt!</p>"; } } ?> <br /> <br /> Tak for din ordre.<br /> <br /> Du er altid velkommen til at kontakte os, hvis du har ændringer, <br /> eller har spørgsmål til din ordre.<br /> <br /> <br /> <div class="mailform_tekst"> <h1 class="sv_overskrift"> Pris i alt: <?php echo $row_rsPris['SUM(pris)']; ?><strong> kr.</strong><br /> Antal i alt: <?php echo $row_rsAntal1['SUM(antal)']; ?> stk.</h1> <p>Der vil komme en mail med reg.nr. og kontonr.</p> </div></td> <td width="164" align="center" class="overskrift"> </td> </tr> <tr> <td> </td> <td> </td> <td> </td> </tr> <tr> </tr> </table> </center>
<?php if (isset($_POST['submit'])) { if (!empty($_POST['name']) && // tjek, at der er skrevet et navn !empty($_POST['email']) && // tjek, at der er skrevet en e-mail-adresse !empty($_POST['emne']) && // tjek, at der er skrevet et emne !empty($_POST['besked']) && // tjek, at der er skrevet en besked
// her følger sikringen mod spambotter !strpos($_POST['name'], "dit_domain.dk") && // tjek, at dit domæne ikke er skrevet i feltet "navn" !strpos($_POST['email'], "dit_domain.dk") && // tjek, at dit domæne ikke er skrevet i feltet "email" !strpos($_POST['name'], "@") && // tjek, at der ikke er et @ i "navn" !eregi("\r",$_POST['name']) && // tjek, at der ikke er "vogn-retur" i "navn" !eregi("\n",$_POST['name']) && // tjek, at der ikke er "linjeskift" i "navn" !eregi("\r",$_POST['email']) && // tjek, at der ikke er "vogn-retur" i "email" !eregi("\n",$_POST['email'])) // tjek, at der ikke er "linjeskift" i "email"
// er alt ok, fortsættes med afsendelse af mailen { $headers="From: ".$_POST['name']."<".$_POST['email'].">";
if (@$_POST['customer_copy']) { $headers .= "\r\nBcc: ".$_POST['email']; } $body .= "Den " . date("d/m y") . " kl. " . date("G:i") . " skrev " . $_POST['name'] . ":\r\n\r\n" . $_POST['besked']; if (@mail("webshop@odderloppetorv.dk", strip_tags($_POST['emne']), stripslashes(strip_tags($body)), $headers)) { echo "<p>Tak for din henvendelse. Jeg svarer så hurtigt som muligt.</p>"; } else { echo "<p>E-mailen blev ikke sendt. Der skete en fejl. Prøv igen!</p>"; } } else { echo "<p>Mailen kunne ikke sendes, alle felter skal udfyldes korrekt!</p>"; } } ?>
#6 står dette ikke inde i din hellestrik_mysqli.php ?? mysqli_select_db($hellestrik, $database_hellestrik);
hvad vil du opnå med disse ?? mysqli_select_db($hellestrik, "SELECT * FROM grundside WHERE id = 1"); mysqli_select_db($hellestrik, "SELECT * FROM topmenu WHERE u = %s"); mysqli_select_db($hellestrik, "SELECT * FROM varebruger WHERE privat = %s"); mysqli_select_db($hellestrik, "SELECT * FROM varebruger WHERE prisid = %s"); mysqli_select_db($hellestrik, "SELECT SUM(antal) FROM varebruger WHERE prisid = %s"); mysqli_select_db($hellestrik, "SELECT SUM(pris) from varebruger where prisid = %s");
or die(mysql_error()); skal vel være or die(mysqli_error($hellestrik));
hvad sker der inde i GetSQLValueString() ?? bruger du mysqli derinde ?? og har du adgang til din connection derinde ??
#13 >De andre der er database informationer til forskellige ting på siden. hvor mange database har du kørende ?? (jeg spører ikke om tabeller) http://php.net/manual/en/mysqli.select-db.php
læs iøvrigt om eregi som du anvender i din mail formular ref http://php.net/manual/en/function.eregi.php Warning This function has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged.
#14 >Ja der er adgang til con. så kan jeg regne ud du anvender global, og din connection hedder det samme udenfor og inde i functionen
Og hvad var så løsningen? (Meningen er, at Eksperten også skal kunne bruges som opslagsværk, og det kunne jo være, at nogen kunne lære af dit tilfælde.)
Her er løsningen men der er ikke ændret noget i koden siden jeg sidste problemer med den, det var fordi der var en del con. forbindelser til forskellige ting, jeg fjernede det og så virkede det.
// her følger sikringen mod spambotter !strpos($_POST['navn'], "dit_domain.dk") && // tjek, at dit domæne ikke er skrevet i feltet "navn" !strpos($_POST['email'], "dit_domain.dk") && // tjek, at dit domæne ikke er skrevet i feltet "email" !strpos($_POST['navn'], "@") && // tjek, at der ikke er et @ i "navn" !eregi("\r",$_POST['navn']) && // tjek, at der ikke er "vogn-retur" i "navn" !eregi("\n",$_POST['navn']) && // tjek, at der ikke er "linjeskift" i "navn" !eregi("\r",$_POST['email']) && // tjek, at der ikke er "vogn-retur" i "email" !eregi("\n",$_POST['email'])) // tjek, at der ikke er "linjeskift" i "email"
; if (@mail("Din mail", strip_tags($_POST['navn']." ". $_POST['efternavn']), stripslashes(strip_tags($body)), $headers)) { echo "<b>Tak for din bestilling.<br /> Vi vil svarer inden for 24 timer.<b>"; } else { echo "<p>Bestillingen blev ikke sendt. Der skete en fejl. Prøv igen!</p>"; } } else { echo "<p>Bestillingen kunne ikke modtages, alle felter skal udfyldes korrekt!</p>"; } } ?>
#18 >det var fordi der var en del con. forbindelser til forskellige ting, jeg fjernede det og så virkede det.
mener du at du fjernede disse linjer iforhold til #6 ?? som jeg antyde i #12, og vist nok også skrevet til dig i andre tråde mysqli_select_db($hellestrik, "SELECT * FROM grundside WHERE id = 1"); mysqli_select_db($hellestrik, "SELECT * FROM topmenu WHERE u = %s"); mysqli_select_db($hellestrik, "SELECT * FROM varebruger WHERE privat = %s"); mysqli_select_db($hellestrik, "SELECT * FROM varebruger WHERE prisid = %s"); mysqli_select_db($hellestrik, "SELECT SUM(antal) FROM varebruger WHERE prisid = %s"); mysqli_select_db($hellestrik, "SELECT SUM(pris) from varebruger where prisid = %s");
Fjernede det hele så der er kun de ting funktion skriver ud. Alt andet fansi jeg havde lavet er fjernet.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.