Har skapat en form med en listbox där man antingen kan välja subscribe eller unsubscribe, informationen skickas med GET: <code> Testade med detta och det fungerar bra att ta bort mailadresser, däremot får jag det här felmeddelandet när jag försöker lägga till en adress:Lägga till data från URL
<form name="newsmail" method="GET">
<select name="request">
<option>Request</option>
<option value="subscribe">Subscribe</option>
<option value="unsubscribe">Unsubscribe</option>
</select>
<input name="email" type="text" value="xxx@xxx.com" size="36">
<input name="submit" type="submit" value="submit">
</form>
Följaktligen blir url:en
xxx.php?request=subscribe&email=xxx@xxx.com&submit=submit
Jag skulle bli glad om någon kunde posta ett exempel på kod för att lägga till/ta bort informationen ur MySQL databasen beroende på om man väljer subscribe eller unsubscribe.
Tack på förhand.Sv: Lägga till data från URL
if(isset($_GET['submit']) && isset($_GET['request']) && isset($_GET['email'])) {
switch($_GET['request']) {
case 'subscribe':
$sql = "INSERT INTO subscription(email) VALUES ('{$_GET['email']}')";
break;
case 'unsubscribe':
$sql = "DELETE FROM subscription WHERE email='{$_GET['email']}'";
break;
}
mysql_query($sql) or die(mysql_error() . ': ' . $sql);
}
</code>Sv: Lägga till data från URL
Column count doesn't match value count at row 1: INSERT INTO newsmail VALUES ('xxx@xxx.com')
Vad beror detta på?
Klistrar in koden för säkerhetsskull:
mysql_select_db($database_xxx, $xxx);
$query_rsNewsmail = "SELECT * FROM newsmail";
$rsNewsmail = mysql_query($query_rsNewsmail, $xxx) or die(mysql_error());
$row_rsNewsmail = mysql_fetch_assoc($rsNewsmail);
$totalRows_rsNewsmail = mysql_num_rows($rsNewsmail);
if(isset($_GET['submit']) && isset($_GET['request']) && isset($_GET['email'])) {
switch($_GET['request']) {
case 'subscribe':
$sql = "INSERT INTO newsmail VALUES ('{$_GET['email']}')";
break;
case 'unsubscribe':
$sql = "DELETE FROM newsmail WHERE email='{$_GET['email']}'";
break;
}
mysql_query($sql) or die(mysql_error() . ': ' . $sql);
}