/ Forside/ Teknologi / Udvikling / PHP / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
nyhedsmail fra admin og insert i Nyhed D~
Fra : sabumnim
Vist : 242 gange
15 point
Dato : 29-10-05 11:47

Hej

Har for et lille stykke tid siden stillet et spørgsmål herinde som jeg også fik svar på, men så testede jeg lige svaret og fik en MySql syntax error.
Skal lige siges at jeg er ret ny indenfor PHP og kan derfor ikke helt gennemskue problemet.

Her er referencen til det tidligere stillede spørgsmål: http://www.kandu.dk/dk/spg/76594

Og her er hvordan jeg fik strikket det sammen udfra det givne svar.
Desværre fik jeg så en fejl og håber der er nogle der kan hjælpe mig endnu en gang :0)

-----
Min kode ser sådan ud:

<?
if ($_POST[op] != "send") {
print "<form method=\"post\" action=\"$_SERVER[PHP_SELF]\"> <input type=\"text\" name=\"subject\" size=\"30\" /></span><br />
<span class=\"broed\"><strong>Besked:</strong><br />
<textarea name=\"message\" cols=\"50\" rows=\"10\" wrap=\"virtual\"></textarea>
<input type=\"hidden\" name=\"op\" value=\"send\" />
<p><input type=\"submit\" name=\"submit\" value=\"Send nyhedsmail\" /></span>
<p><input name=\"frontend_nyhed\" type=\"checkbox\" value=\"frontend_nyhed\" /></p> <!--denne checkbox har jeg selv lige indsat og jeg formoder det er den der skaber problemer. Desværre kan jeg ikke gennemskue hvad problemet er-->
</FORM>";
} else if ($_POST[op] == "send") {
if (($_POST[subject] =="") || ($_POST[message] == "")) {
header("Location: sendmail.php");
exit;
}
require_once "../connexion.php";
$sql = "SELECT email FROM maillist";
$result = mysql_query($sql,$conn) or die(mysql_error());
$afsender_navn = 'Projekt waterfront';
$afsender_email = 'admin@waterfront.dk';
$headers = 'From: "'.$afsender_navn.'" <'.$afsender_email.'>
Reply-To: "'.$afsender_navn.'" <'.$afsender_email.'>;
X-Mailer: PHP/'.phpversion().';
Content-Type:text/plain; charset="iso-8859-1";';
while ($row = mysql_fetch_array($result)) {

$email = $row['email'];
mail("$email", stripslashes($_POST[subject]), stripslashes($_POST[message]), $headers);
print "<span class=\"broed\">Nyhedsbrev sendt til: $email</span><br />";
}
if($_REQUEST['frontend_nyhed'])
{
mysql_query("INSERT INTO news(
overskrift, indhold, dato, id )
values(
'".$_REQUEST['overskrift']."',
'".$_REQUEST['indhold']."',
now()") or die(mysql_error());
}

}
?>


Mvh.
Sabumnim

 
 
Kommentar
Fra : ostemanden


Dato : 29-10-05 12:10

Hvilken fejl får du?

Kommentar
Fra : sabumnim


Dato : 30-10-05 11:07

Hej igen

Jeg får følgende fejl når jeg forsøger at afvikle scriptet:

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 6


Kommentar
Fra : funbreak


Dato : 30-10-05 12:54

Kode
<?
if ($_POST[op] != "send") {
print "<form method=\"post\" action=\"$_SERVER[PHP_SELF]\">
<span class=\"broed\"><strong>Besked:</strong><br />
<textarea name=\"message\" cols=\"50\" rows=\"10\" wrap=\"virtual\"></textarea>
<input type=\"hidden\" name=\"op\" value=\"send\" />
<p><input type=\"submit\" name=\"submit\" value=\"Send nyhedsmail\" /></span>
<p><input name=\"frontend_nyhed\" type=\"checkbox\" value=\"frontend_nyhed\" /></p>
</form>";
} else if ($_POST[op] == "send") {
if (($_POST[subject] =="") || ($_POST[message] == "")) {
header("Location: sendmail.php");
exit;
}

require_once "../connexion.php";
$sql = "SELECT email FROM maillist";
$result = mysql_query($sql,$conn) or die(mysql_error());
$afsender_navn = 'Projekt waterfront';
$afsender_email = 'admin@waterfront.dk';
$headers = 'From: "'.$afsender_navn.'" <'.$afsender_email.'> Reply-To: "'.$afsender_navn.'" <'.$afsender_email.'>;
X-Mailer: PHP/'.phpversion().'; Content-Type:text/plain; charset="iso-8859-1";';

while ($row = mysql_fetch_array($result)) {
$email = $row['email'];
mail("$email", stripslashes($_POST[subject]), stripslashes($_POST[message]), $headers);
print "<span class=\"broed\">Nyhedsbrev sendt til: $email</span><br />";
}
if($_REQUEST['frontend_nyhed']) {
mysql_query("INSERT INTO news(overskrift, indhold, dato, id )
values('".$_REQUEST['overskrift']."','".$_REQUEST['indhold']."', now()") or die(mysql_error());
}
}
?>


Kommentar
Fra : sabumnim


Dato : 30-10-05 13:15

Hej Funbreak

Tak for dit forslag til ny kode her, men har lige testet det op imod min MySql og det virker ikke.

For det første sender den ingen mails ud da den af en eller anden grund ikke tjekker op imod min liste af maillistebrugere.

Desuden udfører den ikke en INSERT i min DB news.

Så alt i alt resulterer det ikke rigtigt i noget brugbart, desværre.

Ved submit kommer den heller ikke op og siger "Nyhedsbrev sendt til: $email" eller noget i den stil.


Mvh.
Carsten AP

Kommentar
Fra : funbreak


Dato : 09-11-05 14:29

Citat
For det første sender den ingen mails ud da den af en eller anden grund ikke tjekker op imod min liste af maillistebrugere.

muligvis forkert forspørgelse i MySQL database

Citat
Desuden udfører den ikke en INSERT i min DB news.

Så alt i alt resulterer det ikke rigtigt i noget brugbart, desværre.

Ved submit kommer den heller ikke op og siger "Nyhedsbrev sendt til: $email" eller noget i den stil


For det først så mangler der noget, 2 stk '
Kode
if($_REQUEST['frontend_nyhed']) {
mysql_query("INSERT INTO news(overskrift, indhold, dato, id )
values('".$_REQUEST['overskrift']."','".$_REQUEST['indhold']."', now()",'') or die(mysql_error());
}


Hvis nogle af variablerne i din INSERT streng ikke findes eller ikke er sat = en værdi,
vil den ikke indsætte noget i database.

Prøv at insætte en linie hvor du printer de variablerne ud, du skal bruge.



Du har følgende muligheder
Dette spørgsmål er blevet annulleret, det er derfor ikke muligt for at tilføje flere kommentarer.
Søg
Reklame
Statistik
Spørgsmål : 177435
Tips : 31962
Nyheder : 719565
Indlæg : 6408016
Brugere : 218879

Månedens bedste
Årets bedste
Sidste års bedste