Ik heb een script nodig dat mensen in staat stelt zich af te melden van een maillist.

De maillist is opgeslagen in een mysql database.
Daarbij worden tabellen "naam" en "mail" gebruikt.

In het script moet dus de naam en mail ingevuld worden, pas als dit overeenkomt mag deze uit de database verwijderd worden.

Ik ben al een aantal weken aan het zoeken en proberen geweest, maar kan niets vinden.

Hoop dat iemand zo'n script heeft of mij kan helpen...

formulier zal je zelf moeten schrijven.

Query:

"DELETE FROM tabel WHERE username = '" . $_POST['username'] . "' AND email = '" . $_POST['email'] . "'";

succes
Dank je !
Ik heb het nu zo...


<style type="text/css">
<!--
body,td,th {
font-family: arial;
font-size: 10pt;
}
a:link {
color: #000000;
text-decoration: none;
}
a:visited {
text-decoration: none;
color: #000000;
}
a:hover {
text-decoration: none;
color: #000000;
}
a:active {
text-decoration: none;
color: #000000;
}
-->
</style>

<title>RH - Afmelden mailing de Rode Haan</title><form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">

<p>
<label for="formnaam">Naam:</label>
<br>
<input type="text" title="Vul hier je naam in die je hebt opgegeven bij je aanmelding." name="afmelden" size="10"></p>

<p>
<label for="formnaam">E-mail:</label>
<br>
<input type="text" title="Vul hier je e-mail adres in." name="afmelden2" size="10"></p>

<p><label title="Afmelden.">
<input type="submit" value="Afmelden"></label></p>

</form>

<?php
## config-bestand laden
require_once ( "config.php" ) ;

echo "<html>\n";
echo "<head>\n";
echo " <title>Afmelden mailing de Rode Haan</title>\n";

error_reporting(E_ALL);


if($_SERVER['REQUEST_METHOD'] == "POST")
{
$naam = mysql_real_escape_string($_POST['afmelden']);
$mail = mysql_real_escape_string($_POST['afmelden2']);


$query = "DELETE FROM tabel WHERE username = '" . $_POST['naam'] . "' AND email = '" . $_POST['mail'] . "'";

$update = mysql_query($query) or die(mysql_error());

if($update)
{
echo 'U bent afgemeld van de mailing!<br>';
}else{
echo 'U kon niet afgemeld worden, neem contact op met [email protected]<br>';
}
}

?>




Klopt dit?
Nou niet echt. Als je het zou testen zou je zien dat het weliswaar tot het verwachtte resultaat leidt. Maar het is wel gebruikelijk om eerst de request_post af te en daarna de form te tonen. Nu wordt de form getoond met daaronder reeds de opmerking dat men afgemeld is. De vraag is sowieso of het from nog getoond moet worden als men afgemeld is.

Zag het al, was te voorbarig met posten...Tis nog vroeg he...haha


Ik heb het aanmeldformulier aangepast...


<?

$hostname = "localhost";
$username = "derodehaan_nl";
$password = "********";
$database = "derodehaan_nl_5";

mysql_connect("$hostname","$username","$password");
mysql_select_db("$database");


if (!$action) {
echo "<br><br>Om jezelf te verwijderen van de mailing list vul dan hieronder je naam en e-mail in.<BR><BR>\n";
if ($afmelden) {
if ($naam != "" && $email != "") {
$query = mysql_query("DELETE FROM tabel WHERE username = '" . $_POST['naam'] . "' AND email = '" . $_POST['email'] . "'");

mysql_query($query2) or die(mysql_error());
$name = "De Rode Haan";
$myemail = "[email protected]";
$subject = "Verwijdering van Mailinglist";
$message = "Beste $naam,
Je bent verwijderd van de mailinglist van: $name.

----------------------------------------
Je gegevens:

Naam: $naam
E-mail: $email
----------------------------------------

Mocht je dit niet zelf gedaan hebben, meld je dan weer aan op www.derodehaan.nl

Met Vriendelijke Groet, $name";
mail("$email","$subject","$message","From: $name <$myemail>");
echo "Okey, je bent verwijderd van de mailing list.<BR>Er is een e-mail verstuurd ter bevestiging!\n";
} else {
echo "<FONT COLOR=\"#FF0000\">De <B>E-mail</B> die je opgaf is geen goed email adres!</FONT>\n";
}
}
} else {
echo "<FONT COLOR=\"#FF0000\">Geen <B>Naam</B> en/of <B>E-mail</B> ingevult</FONT>\n";
}
echo "<FORM METHOD=\"post\" ACTION=\"index.php\">\n";
echo "<TABLE BORDER=\"0\" CELLPADDING=\"5\" CELLSPACING=\"0\" WIDTH=\"400\">\n";
echo "<TR>\n";
echo "<TD>Naam:</TD>\n";
echo "<TD><INPUT TYPE=\"text\" NAME=\"naam\" SIZE=\"20\" CLASS=\"form\"></TD>\n";
echo "</TR>\n";
echo "<TR>\n";
echo "<TD>E-mail:</TD>\n";
echo "<TD><INPUT TYPE=\"text\" NAME=\"email\" SIZE=\"20\" CLASS=\"form\"></TD>\n";
echo "</TR>\n";
echo "<TR>\n";
echo "<TD COLSPAN=\"2\"><INPUT TYPE=\"submit\" NAME=\"verwijderen\" VALUE=\"Verwijderen!\" CLASS=\"button\"></TD>\n";
echo "</TR>\n";
echo "</TABLE>\n";
echo "</FORM>\n";

?>&nbsp;</td>
</tr>
</table>
</div></td>
</tr>
<tr>
<td width="56">&nbsp; </td>
</tr>
</table>
<!-- End ImageReady Slices -->
</body>
</html>
zelf even snel wat voor je gemaakt.

edit: gemaakt in een hele rare editor, dus misschien is een kleine verandering nodig :|

<html>
	<head>
		<title></title>
	</head>
<body>

<?
If($_SERVER[‘REQUEST_METHOD’] == ‘POST’)
{
	If(isset($_POST[‘submit’]))
	{
		If(empty($_POST[‘username’]) OR empty($_POST[‘email’]))
		{
			$error = ‘Empty fields are not allowed’;
		}
		IF(isset($error))
		{
			Echo $error;
		} else {
			$delete = mysql_query(“DELETE FROM tabel WHERE username = ‘”.$_POST[‘username’].”’ AND email = ‘”.$_POST[‘email’].”’”);
		}
	}
}
?>

<form method=”post” action=”<?=$_SERVER[‘PHP_SELF’] ?>”>
<table>
	<tr>
		<td>
			Naam:
</td>
	</tr>
	<tr>
		<td>
			<input type=”text” name=”username” value=”<?=$_POST[‘username’] ?>”>
		</td>
	</tr>
	<tr>
		<td>
			<input type=”text” name=”email” value=”<?=$_POST[‘email’] ?>”>
		</td>
	</tr>
	<tr>
		<td>
			<input type=”submit” name=”submit” value=”Submit”>
		</td>
	</tr>
</table>


zelf nog even je error afhandeling erbij doen.

Mvg,

Erik
‘username’ ??

Zeker in microsoft word? het moeten ' zijn...
En het script dat ik boven die van jou heb gepost...
Kan ik die daar niet voor gebruiken?

Er zit alleen nog ergens een fout in waardoor hij niet aangeeft of het wel al dan niet gelukt is...

En hij verwijderd niet...

Maar alleen ik kan de fout niet vinden
Heb mijn script enigzins aangepast, krijg nu de melding: Parse error: parse error, unexpected $

Dat is op de allerlaatste regel en daar staat alleen </html>

Iemand suggesties?


<?
$hostname = "localhost";
$username = "derodehaan_nl";
$password = "********";
$database = "derodehaan_nl_5";

mysql_connect("$hostname","$username","$password");
mysql_select_db("$database");


if (!$action) {
echo "<br><br>Om jezelf te verwijderen van de mailing list vul dan hieronder je naam en e-mail in.<BR><BR>\n";
if ($afmelden) {
if ($naam != "" && $email != "") {
$query = mysql_query("SELECT * FROM mailing WHERE email = '$email'");
if(mysql_num_rows($query) >= 1) {
echo "<FONT COLOR=\"#FF0000\">De <B>E-mail</B> die U opgaf is al geregistreerd!</FONT>\n";
} else {
if (preg_match("/(?i)^([a-z0-9._-])+@([a-z0-9.-])+\.([a-z0-9]){2,4}$/",$email)) {
$query2 = "DELETE FROM tabel WHERE username = '" . $_POST['naam'] . "' AND email = '" . $_POST['mail'] . "'";

mysql_query($query2) or die(mysql_error());
$name = "De Rode Haan";
$myemail = "[email protected]";
$subject = "Verwijdering van Mailinglist";
$message = "Beste $naam,
Je bent verwijderd van de mailinglist van: $name.

----------------------------------------
Je gegevens:

Naam: $naam
E-mail: $email
----------------------------------------

Mocht je dit niet zelf gedaan hebben, meld je dan weer aan op www.derodehaan.nl

Met Vriendelijke Groet, $name";
mail("$email","$subject","$message","From: $name <$myemail>");
echo "Okey, je bent verwijderd van de mailing list.<BR>Er is een e-mail verstuurd ter bevestiging!\n";
} else {
echo "<FONT COLOR=\"#FF0000\">De <B>E-mail</B> die je opgaf is geen goed email adres!</FONT>\n";
}
}
} else {
echo "<FONT COLOR=\"#FF0000\">Geen <B>Naam</B> en/of <B>E-mail</B> ingevult</FONT>\n";
}
echo "<FORM METHOD=\"post\" ACTION=\"index.php\">\n";
echo "<TABLE BORDER=\"0\" CELLPADDING=\"5\" CELLSPACING=\"0\" WIDTH=\"400\">\n";
echo "<TR>\n";
echo "<TD>Naam:</TD>\n";
echo "<TD><INPUT TYPE=\"text\" NAME=\"naam\" SIZE=\"20\" CLASS=\"form\"></TD>\n";
echo "</TR>\n";
echo "<TR>\n";
echo "<TD>E-mail:</TD>\n";
echo "<TD><INPUT TYPE=\"text\" NAME=\"email\" SIZE=\"20\" CLASS=\"form\"></TD>\n";
echo "</TR>\n";
echo "<TR>\n";
echo "<TD COLSPAN=\"2\"><INPUT TYPE=\"submit\" NAME=\"verwijderen\" VALUE=\"Verwijderen!\" CLASS=\"button\"></TD>\n";
echo "</TR>\n";
echo "</TABLE>\n";
echo "</FORM>\n";

?>&nbsp;</td>
</tr>
</table>
</div></td>
</tr>
<tr>
<td width="56">&nbsp; </td>
</tr>
</table>
<!-- End ImageReady Slices -->
</body>
</html>
je hebt volgens mij meer { dan }

kijk ze eens na

Reageren