webForumDet fria alternativet

uppdaterar sidan

13 svar · 353 visningar · startad av mr.mainline

mr.mainlineMedlem sedan feb. 2003777 inlägg
#1

jag har ett formulär som skickar data till en databas, men om jag skiver in ett inlägg och skickar iväg det och sen klickar på "uppdatera" i webläsaren så blir det dubbel inlägg,alltså två likadana inlägg, hur kommer jag runt det?

PeddaMedlem sedan juni 20006 032 inlägg
#2

När du har lagt till i databasen så skickar du vidare till nästa sida med header location
Då slipper du risken att nån uppdaterar sidan.

mr.mainlineMedlem sedan feb. 2003777 inlägg
#3

får inte det att funka,har denna koden

 mysql_query("INSERT INTO bedomning (datum, klass, bedomning, domare, handler, bild) VALUES ('$datum', '$klass', '$bedomning', '$domare', '$handler', '$bild') ");
 
  header("Location: visa_kritik.php"); //skicka vidare
PeddaMedlem sedan juni 20006 032 inlägg
#4

På vilket sätt fungerar det inte?
Felmeddelande?

mr.mainlineMedlem sedan feb. 2003777 inlägg
#5

nej inget fel meddelande, utan jag skickar vidare till visa_sidan.php,men får fortfarande dubbel inlägg när jag uppdaterar i webläsaren.

PeddaMedlem sedan juni 20006 032 inlägg
#6

Kan vi få se lite mer kod?

mr.mainlineMedlem sedan feb. 2003777 inlägg
#7

visst kommer här.

<?php
$conn=mysql_connect("localhost", "******", "******");
mysql_select_db("******");

 
  
  $datum = $_POST['datum'];
  $klass = $_POST['klass'];
  $bedomning = $_POST['bedomning'];
  $domare = $_POST['domare'];
  $handler = $_POST['handler'];
  $bild = $_POST['bild'];

  // lägg in värdena i databasen
  mysql_query("INSERT INTO bedomning (datum, klass, bedomning, domare, handler, bild) VALUES ('$datum', '$klass', '$bedomning', '$domare', '$handler', '$bild') ");
 header("Location: visa_kritik.php"); //skicka vidare
 

?> 
<form method="post" action="bedomning.php" name="matain" onSubmit="return CheckForm();">
Datum:<br><input name="datum" type="text">
  tex. 2005-06-02<br>
  Klass:<br>
  <input name="klass" type="text"><br>
Domare:<br><input name="domare" type="text"><br>
Bedömning:<br>
  <textarea name="bedomning" cols="40" rows="10"></textarea>
  <br>
  Handler:<br><input name="handler" type="text"><br>
  Bild:<br><input name="bild" type="text">
  <strong>tex 1.jpg (filens namn)</strong><br>
  <br>
  <input name="submit" type="submit" value="Skicka">
  
</form><br>
<hr>

<?

//Hämta	
$sql=("SELECT * FROM bedomning ORDER BY id DESC") or die("kunde inte hämta data från databasen"); 
$rs=mysql_query($sql, $conn) or die("kunde inte hämta från databasen");
//Funktioner
include("func.php");

// Starta tabellen

while($rad=mysql_fetch_array($rs)){ 
echo '<table width="100%" border="0" cellpadding="1" height="399">'; 
echo '<tr>'; 
echo'<td width="100%" height="395" valign="top">'; 
echo'<table width="100%" border="0">'; 
echo'<tr>'; 
echo'<td width="78%" height="146" valign="top">'.$rad['datum'].'<br><b>'.$rad['klass'].'</b><br><b> Domare:</b>'.$rad['domare'].'<br><br><b>Bed&ouml;mning:</b><br><i>'. '<p>'.$rad['bedomning'].'</i></p></td>'; 
echo '<td width="22%"><img src=/ulrika/upload/'.$rad['bild'].'><br><i>Handler:</i> '.$rad['handler'].'</td>'; 
echo'</tr>';
echo'</table><br><hr>'; 
}
//Slut

?>
PeddaMedlem sedan juni 20006 032 inlägg
#8

Edit

<?php
$conn=mysql_connect("localhost", "******", "******");
mysql_select_db("******");

if (isset($_POST['submit'])) {
  $datum = $_POST['datum'];
  $klass = $_POST['klass'];
  $bedomning = $_POST['bedomning'];
  $domare = $_POST['domare'];
  $handler = $_POST['handler'];
  $bild = $_POST['bild'];

  // lägg in värdena i databasen
  mysql_query("INSERT INTO bedomning (datum, klass, bedomning, domare, handler, bild) VALUES ('$datum', '$klass', '$bedomning', '$domare', '$handler', '$bild') ");
header("Location: visa_kritik.php"); //skicka vidare
exit; // du måste ha exit här
}

?>
PeddaMedlem sedan juni 20006 032 inlägg
#9

Tänkte inte innan jag skrev, men nu ska det nog funka.

mr.mainlineMedlem sedan feb. 2003777 inlägg
#10

får bara en vit sida nu ,utan fel meddelande

PeddaMedlem sedan juni 20006 032 inlägg
#11

Är det efter att du har klickat på submit som sidan blir vit?
Skickas du inte vidare till visa_kritik.php?

mr.mainlineMedlem sedan feb. 2003777 inlägg
#12

ja det är efter jag klickat på submit som sidan blir vit,nix jag skickas inte vidare,här är koden för visa_kritik.php

//Hämta	
$sql=("SELECT * FROM bedomning ORDER BY id DESC") or die(mysql_error()); 
$rs=mysql_query($sql, $conn) or die("Err: SQL query");
//Funktioner
include("func.php");

while($rad=mysql_fetch_array($rs)){ 
echo '<table width="100%" border="0" cellpadding="1" height="399">'; 
//Skriv ut tabellen 
echo '<tr>'; 
echo'<td width="99%" height="395" valign="top">'; 
echo'<table width="100%" border="0">'; 
echo'<tr>'; 
echo'<td width="78%" height="146" valign="top">'.$rad['datum'].'<br><b>'.$rad['klass'].'</b><br><b> Domare:</b>'. $rad['domare'].'<br><br><b>Bed&ouml;mning:</b><br><em>'.$rad['bedomning'].'</em></td>'; 
echo '<td width="22%"><img src=/ulrika/upload/'.$rad['bild'].'><br><em>Handler:</em> '.$rad['handler'].'</td>'; 
echo'</tr>';
echo'</table><br>'; 
echo'<hr size "1">';
}

//Slut
?>
PeddaMedlem sedan juni 20006 032 inlägg
#13

Felet måste ligga i bedomning.php

Förmodligen har du ett blanksteg eller liknande innan headern.
Kontrollera detta och försök igen.

Observera att inget får skrivas ut till webbläsaren innan headern, inte ens ett mellanslag.

mr.mainlineMedlem sedan feb. 2003777 inlägg
#14

det var felet,nu funkar det,tack ska du ha.

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