webForumDet fria alternativet

Dubbelpostning

5 svar · 250 visningar · startad av webzonen

webzonenMedlem sedan feb. 2001390 inlägg
#1

När jag postar en kommentar till en nyhet så postas två(!) stycken.

Vad beror detta på?

<?
}
Elseif (($_GET['do'] == "add") && ($_GET['step'] == "two")) {

$nyhetsid = $_POST['nyhets_id'];
$namn = $_POST['namn'];
$mail = $_POST['mail'];
$text = $_POST['text'];

$connection = mysql_connect('localhost', 'root', '')
or die("Kunde inte skapa koppling!");

mysql_select_db('database') or die("Kunde inte välja databas");

$laggTill = "INSERT INTO kommentarer
(nyhets_id, namn, mail, text) VALUES ('$nyhetsid', '$namn', '$mail', '$text')";

mysql_query($laggTill) or die("Det gick inte att lägga till information!");
mysql_close($connection);

echo "Kommentar postad";

}
Else {
      echo "fel";
}
?>
aasahMedlem sedan mars 20034 471 inlägg
#2

Jag ser inte hur det du postat skulle kunna lägga till något dubbelt. Så såvida jag inte missar något - fullt möjligt i och för sig - så tycker jag det verkar som att denna kod måste anropas två gånger i så fall. Eller alternativt finnas inuti en slinga som körs två gånger.

webzonenMedlem sedan feb. 2001390 inlägg
#3

Kan ta med hela sidan så får du se,

<?
If (($_GET['do'] == "add") && ($_GET['step'] == "one")) {
?>
<form method="post" action="index.php?kommentar&do=add&step=two">
<input type="hidden" name="nyhets_id" value="<?=$_GET['id']?>">
Ditt namn: <input type="text" name="namn"><br>
Din Email: <input type="text" name="mail"><br>
Kommentar:<br>
<textarea name="text" cols="40" rows="7"></textarea><br>
<input type="submit" value="Posta kommentar">
</form>
<?
}
Elseif (($_GET['do'] == "add") && ($_GET['step'] == "two")) {

$nyhetsid = $_POST['nyhets_id'];
$namn = $_POST['namn'];
$mail = $_POST['mail'];
$text = $_POST['text'];

$connection = mysql_connect('localhost', 'root', '')
or die("Kunde inte skapa koppling!");

mysql_select_db('database') or die("Kunde inte välja databas");

$laggTill = "INSERT INTO kommentarer
(nyhets_id, namn, mail, text) VALUES ('$nyhetsid', '$namn', '$mail', '$text')";

mysql_query($laggTill) or die("Det gick inte att lägga till information!");
mysql_close($connection);

echo "Kommentar postad";

}
Else {
      echo "fel";
}
?>
MatteMedlem sedan aug. 20002 975 inlägg
#4

Uppdaterar du webbläsaren så kommer formuläret att skickas igen.
Det är inte detta som hänt ?

webzonenMedlem sedan feb. 2001390 inlägg
#5

Nej, det tror jag inte. Du menar alltså om jag skulle trycka på "uppdatera" ? men dubblepostningen är tom på information.

webzonenMedlem sedan feb. 2001390 inlägg
#6

löste sig. Det verkar vara något av det slag du sa, hade samma problem med nyhets-sektionen nämligen.

jag lade till en extra ($_POST['rubrik'] <> "") i if satsen så löste det sig.

122 ms totalt · 3 externa anrop · v20260731065814-full.b943c234
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
119 ms — hämta tråd, inlägg och bilagor (db)