/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Redirect i php
Fra : kenneth Kristiansen


Dato : 21-08-04 18:53

Hej.

Jeg har problemer med at redirecte i php (newbee der gerne vil
wannabee).
I mit script bruger jeg header("location: database.php");
Jeg ønsker at gå til databaseadmin efter en update af
databaseindhold, men får en blank side ved submit. Indholdet af
databasen bliver fint opdateret, men jeg bliver ikke sendt videre
til database.php. Har prøvet adskillige løsninger og ændringer i
mit script, men siden forbliver blank. Derfor HJÆLP???

Her er mit update.php:

<?php
ob_start();
include('config.php');
$id = $_GET['id'];
$titel = $_POST['titel'];
$fotograf = $_POST['fotograf'];
$antal_billeder = $_POST['antal_billeder'];

if($update) {
mysql_query("update billedalbum set titel='$titel',
fotograf='$fotograf', antal_billeder='$antal_billeder' WHERE id =
'$update'")or die (mysql_error());die (mysql_error());
header("Location: http://krogengen.dk/billeder/database.php");
exit;
} else {
$query = mysql_query("SELECT * FROM billedalbum WHERE id =
'$id'");
$row=mysql_fetch_array($query);

echo "<html>";
echo "<link rel=\"stylesheet\" type=\"text/css\"
href=\"style.css\">";
echo "<body>";
echo "<table><tr><td>";
echo "<h3>Opdater billedalbum</h3><hr></td></tr>";
echo "<tr><td>";
echo "Database Id nr: <b>$row[id]</b><br>";
echo "Billedalbummet er oprettet<B> $row[date]</b>";
echo "<hr></td></tr>";
echo "<tr><td>";
echo "<form action='$PHP_SELF?update=$id' method='post'><label
style=\"width:80px\"><b>Billedalbum:</b></label><input
name=\"titel\" value=\"$row[titel]\" style=\"width: 175px\"><br>
<label style=\"width:80px\"><b>Fotograf:</b></label><input
name=\"fotograf\" value=\"$row[fotograf]\" style=\"width:
175px\"><br>
<label style=\"width:80px\"><b>Antal foto:</b></label><input
name=\"antal_billeder\" value=\"$row[antal_billeder]\"
style=\"width: 50px\"><br>
<label style=\"width:80px\">&nbsp;</label><input type='submit'
value='Opdater'>&nbsp;<input type='reset' value='Slet'>
</form>";


echo "<hr></td></tr></table>";
}

echo "<table><tr>";
         echo "<td>Fortryd opdatering og returnér til databasen!</td>";
         echo "</tr>";
       echo "<tr><td><a href=\"database.php\"
target=\"main\">Retur</a></td>";
   echo "</tr></table>";
echo "</html>";
echo "</body>";
Ob_end_flush();
?>

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Anders Thorsen Holm (21-08-2004)
Kommentar
Fra : Anders Thorsen Holm


Dato : 21-08-04 19:27

kenneth Kristiansen <kenneth@krogengen.dk> wrote:

> I mit script bruger jeg header("location: database.php");

Argumentet til location skal være en absolut URI - altså den komplette
adresse inklusive scheme, hostname og absolut sti:

<http://dk2.php.net/manual/en/function.header.php>

Så du skal altså bruge:

header("Location: http://www.minserver.dk/database.php");

--
Anders Thorsen Holm, BSc i datalogi-multimedier.

Jeg søger fuldtidsjob i Århus - gerne studierelevant, men ingen
betingelse. Læs mit CV: http://www.thorsenholm.dk/cv/

kenneth Kristiansen (21-08-2004)
Kommentar
Fra : kenneth Kristiansen


Dato : 21-08-04 21:07

Hej Anders.

Det er fint nok det du skriver, men hvis du havde set på mit script, så er
det den absolutte sti der er brugt!!!

Mvh
Kenneth http://krogengen.dk

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Anders Thorsen Holm (21-08-2004)
Kommentar
Fra : Anders Thorsen Holm


Dato : 21-08-04 23:35

kenneth Kristiansen <kenneth@krogengen.dk> wrote:

> Det er fint nok det du skriver, men hvis du havde set på mit
> script, så er det den absolutte sti der er brugt!!!

Sorry, my bad. Jeg læste kun den indledende tekst, hvor der som bekendt
var angivet en relativ sti.

--
Anders Thorsen Holm, BSc i datalogi-multimedier.

Jeg søger fuldtidsjob i Århus - gerne studierelevant, men ingen
betingelse. Læs mit CV: http://www.thorsenholm.dk/cv/

Anders K. Madsen (21-08-2004)
Kommentar
Fra : Anders K. Madsen


Dato : 21-08-04 21:14



Anders Thorsen Holm (21-08-2004)
Kommentar
Fra : Anders Thorsen Holm


Dato : 21-08-04 23:36

Hej, navnebror.

"Anders K. Madsen" <madsen@lillesvin.linux.dk> wrote:

> Ikke nødvendigvis... Ifølge HTTP/1.1 skal det være en absolut URI,
> men i HTTP/1.0 kan det være det ene såvel som det andet.
> Jeg bruger sjældent absolutte URI'er når jeg redirecter og det
> virker fint fint med alle de browsere jeg har testet med.

Tak for input - det er hermed skrevet bag øret.

--
Anders Thorsen Holm, BSc i datalogi-multimedier.

Jeg søger fuldtidsjob i Århus - gerne studierelevant, men ingen
betingelse. Læs mit CV: http://www.thorsenholm.dk/cv/

Jesper Larsen (21-08-2004)
Kommentar
Fra : Jesper Larsen


Dato : 21-08-04 21:23

Du kan evt prøve at bruge unset() istedet for ob_start/flush...

kenneth Kristiansen wrote in
dk.edb.internet.webdesign.serverside.php:
> Hej.
>
> Jeg har problemer med at redirecte i php (newbee der gerne vil
> wannabee).
> I mit script bruger jeg header("location: database.php");
> Jeg ønsker at gå til databaseadmin efter en update af
> databaseindhold, men får en blank side ved submit. Indholdet af
> databasen bliver fint opdateret, men jeg bliver ikke sendt videre
> til database.php. Har prøvet adskillige løsninger og ændringer i
> mit script, men siden forbliver blank. Derfor HJÆLP???
>
> Her er mit update.php:
>
> <?php
&gt; include('config.php');
&gt; $id = $_GET['id'];
&gt; $titel = $_POST['titel'];
&gt; $fotograf = $_POST['fotograf'];
&gt; $antal_billeder = $_POST['antal_billeder'];
&gt;
&gt; if($update) {
&gt; mysql_query("update billedalbum set titel='$titel',
&gt; fotograf='$fotograf', antal_billeder='$antal_billeder' WHERE id
=
&gt; '$update'")or die (mysql_error());die (mysql_error());
unset($id, $_GET["id"], $titel, $_POST["titel"], $fotograf,
$_POST["fotograf"], $antal_billeder, $_POST["antal_billeder"],
$update);
// Plus andre variabler der måtte være sat før, feks. i config.php.
&gt; header("Location: http://krogengen.dk/billeder/database.php");
&gt; exit;
&gt; }


--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

kenneth Kristiansen (21-08-2004)
Kommentar
Fra : kenneth Kristiansen


Dato : 21-08-04 21:54

Hej igen.

Så er den løst.

Fejlen er opstået i slutningen af update:

if($update) {
mysql_query("update billedalbum set titel='$titel',
fotograf='$fotograf', antal_billeder='$antal_billeder' WHERE id =
'$update'")or die (mysql_error());die (mysql_error());
header("Location: http://krogengen.dk/billeder/database.php");

die (mysql_error()); før headeren skal fjernes, ellers figuerer den
2 gange!!!

Tak for alle input

Mvh
Kenneth
http://krogengen.dk

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177553
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste