webForumDet fria alternativet

uppdaterar sidan

PHP

13 svar · 353 visningar · startad av mr.mainline

Medlem sedan feb. 2003777 inlägg
Frågan#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?

Medlem sedan juni 20006 031 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.

Medlem 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
Medlem sedan juni 20006 031 inlägg
#4

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

Medlem 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.

Medlem sedan juni 20006 031 inlägg
#6

Kan vi få se lite mer kod?

Medlem 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

?>
Medlem sedan juni 20006 031 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
}

?>
Medlem sedan juni 20006 031 inlägg
#9

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

Medlem sedan feb. 2003777 inlägg
#10

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

Medlem sedan juni 20006 031 inlägg
#11

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

Medlem 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
?>
Medlem sedan juni 20006 031 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.

Medlem sedan feb. 2003777 inlägg
#14

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

268 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
132 ms — ändringar (db)