Op mijn site heb ik een mail a friend formuliertje standaard op elke pagina staan. Dat werkt volledig. Maar als ik nu op mijn site iets toevoegt (nieuws bericht of reactie) dan gaat ie als je op de submit knop drukt naar het mail a friend formulier. Hoe kan je aan die mail a friend iets meegeven dat de submit uniek word of zo??

Of misschien is er ook wel een andere oplossing?

Marien den Besten
Hallo Marien,

Voor jou, speciaal haal ik nog even een kwoot:


Hoewel hier zo nu en dan pornoboeren hun webdesigners rondselen, is dit geen verzamelplek voor de vereniging van telepathen en andere jomanda sympatisanten.


Plaats eens je code (html en php) en waar het precies fout gaat.
helemaal alles...

want de code is groot

in mijn nieuws systeem zit dus ook een formuliertje en in het mail a friend ook allebei gebruiken ze submit...
<form method="post" action="mailafriend.php">
<b>Tell a Friend</b><br /><br />
<i>Afzender:</i><br />
Uw naam:<br />
<input type="text" name="naam" /><br />
E-mailadres:<br />
<input type="text" name="from" /><br /><br />
<i>Bestemming:</i><br />
Naam ontvanger:<br />
<input type="text" name="vriend" /><br />
E-mailadres:<br />
<input type="text" name="to" /><br />
<input type="submit" value="Verstuur >>" class="button"/>

:: het forumuliertje dus voor mail a friend

en hier het gebeuren van het nieuwssysteem:

<?

//hier staat het begin van de code If dus

else
{
echo "<div id=\"inhoud\">";

if ($HTTP_POST_VARS["submit"] && $HTTP_POST_VARS["naam"] && $HTTP_POST_VARS["msg"])
{
$datum = date("d.m.Y");

$sql = "INSERT INTO reacties (id, naam, titel, msg, datum, ipadres, tid) VALUES ";
$sql .= "('', '$HTTP_POST_VARS[naam]', '$HTTP_POST_VARS[titel]', '$HTTP_POST_VARS[msg]', '$datum', '$REMOTE_ADDR', '$HTTP_GET_VARS[id]')";
$res = mysql_query($sql);

if ($res)
echo "<SCRIPT LANGUAGE=\"javascript\" TYPE=\"text/javascript\">window.location='$PHP_SELF?id=$HTTP_GET_VARS[id]'</SCRIPT>\n";
else
echo "Reactie niet toegevoegd.";
}
else
{
$sql = "SELECT id,titel,msg,datum FROM nieuws WHERE id = '$HTTP_GET_VARS[id]'";
$res = mysql_query($sql);

echo "<a href=\"$PHP_SELF\" target=\"_top\">Nieuws overzicht</a><p>";

if (mysql_num_rows($res) >= 1)
{
$row = mysql_fetch_array($res);
$hiddentitel = $row[titel];

echo "<span class=\"kopje\">$row[titel]</span> Datum:[$row[datum]]<p>";

$row[msg] = nl2br($row[msg]);
echo "$row[msg]<p>";

echo "<hr color=\"#000099\"><p>";

$sql = "SELECT id,naam,titel,msg,datum FROM reacties WHERE tid = '$HTTP_GET_VARS[id]' ORDER BY id DESC";
$res = mysql_query($sql);
//echo "<a name=\"reacties\">";
echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" bordercolor=\"#000099\" width=\"50%\"><tr><td>";
//echo "</a>";

if (mysql_num_rows($res) >= 1)
{

while ($row = mysql_fetch_array($res))
{
echo "<p class=\"klok\"><b>$row[naam]</b> @ $row[datum]<br />";
$row[msg] = nl2br($row[msg]);
echo "$row[msg]<hr noshade size=\"1\" color=\"#000099\"><br /></p>";
}
}
else
{
echo "<p class=\"klok\">Er zijn nog geen reacties op dit bericht.</p>";
}

echo "</table><br />";

echo "<h5>Plaats hier uw reactie op het bovenstaande bericht:</h5><form method=\"post\" action=\"$PHP_SELF?id=$HTTP_GET_VARS[id]\">";
echo "<input type=\"hidden\" name=\"titel\" value=\"$hiddentitel\">";
echo "<p class=\"klok\">Naam:<br /><input type=\"text\" name=\"naam\">";
echo "<br /><br />Bericht:<br /><textarea name=\"msg\" rows=\"5\" cols=\"40\"></textarea></p>";
echo "<input type=\"submit\" name=\"submit\" value=\"Reactie plaatsen\">";
}
else
{
echo "Nieuws bericht niet gevonden.";
}

echo "<p><a href=\"$PHP_SELF\" target=\"_top\">Nieuws overzicht</a><p>";

}
echo "</div>";
}

?>

En hier het mail a friend scriptje

<?

if (!isset($linkje)) { $linkje = getenv(HTTP_REFERER);}
list($htmlfile) = explode ("/", strrev($linkje));
$bestand = strrev($htmlfile);

// Grijp de waarden uit html file

$titel = shell_exec("grep 'meta name=\"title\"' $bestand|cut -d'\"' -f4|cut -d'\"' -f1");
$auteur = shell_exec("grep 'meta name=\"author\"' $bestand|cut -d'\"' -f4|cut -d'\"' -f1");
$desc = shell_exec("grep 'meta name=\"description\"' $bestand|cut -d'\"' -f4|cut -d'\"' -f1");

if ($to == "" || $from == "" || $vriend == "" || $naam == "" || substr_count($from, "@") == "0"|| substr_count($to, "@") == "0")
{
include 'oops.inc';
exit;
}

$message = "
Beste $vriend

$naam denkt dat jij dit een interessant artikel vindt.

$titel- $auteur$desc$linkje

--
Sitsat Webdesign :: Het Javascript archief :: Programmeertaal cursussen
email: [email protected]
website: http://www.sitsat.nl // bestaat nog niet...
";

$subject = "[sitsat.nl] $titel";
$headers .= "From: ".$naam." <".$from.">\r\n";
$headers .= "X-Mailer: Sitsat Mail-A-Friend";

mail($to, $subject, $message, $headers);

include("header.php");

echo "
<div id=\"inhoud\">
<p>Beste $naam</p>
<p>
Het e-mailtje is verstuurd. </p><p>

Ga terug naar de <a href=\"javascript:history.back(-1)\">vorige pagina</a> of kies een onderdeel uit het menu.</a>
</p>
</div>";

include("alphamega.php");

include("footer.php");

?>
misschien is het tijd voor een "do and don't" lijst voor het plaatsen van berichten..?
hoe bedoel je??
zou een formulier naam niet en oplossing zijn maar dan weet ik niet hoe je dat met php kan controleren

voorbeeld

<form name="forumulier1" enz..>
als iemand nu de moeite had genomen om even te kijken had hij al bij het begin moeten zien dat het formuliertje niet afgesloten was....

dus hiermee is dit topic gesloten

Marien den Besten

Reageren