Toon posts:

[PHP] Headers

Pagina: 1
Acties:
  • 114 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik lees diverse topics van personen die problemen hebben met headers die al verzonden zijn. Ook ik heb hier last van, maar geen enkele topic geeft uitkomst voro mij wat nu te doen! (ben ik TE niewbie dan op dit gebied ???)

pag1.php stuur ik een form via een header naar pag2.php
in pag2.php wil roep ik een functie aan welke de gegevens van pag1.php valideert en indien onjuiste doorstuurt naar pag1.php wederom.

Hoe zorg ik er nu voor dat die 2de redirect werkt ??? Die eerst van pag1 -> pag2 gaat via de header goed, maar die 2de zegt ie dus headers already sent.
Ja, kweet dat dat klopt,maar hoe los ik dat nu op ???? En zeg aub niet dat ik geen HTML moet versturen van te voren, maar dat moet nu eenmaal wel !

Dus...wat moet ik nu doen ????

Verwijderd

pret: De eerst van pag1 -> pag2 gaat via de header goed, maar die 2de zegt ie dus headers already sent.
Ja, kweet dat dat klopt, maar hoe los ik dat nu op?
Je weet dat dat klopt? :? Als je het probleem weet, weet je de oplosssing ook. :)
En zeg aub niet dat ik geen HTML moet versturen van te voren, maar dat moet nu eenmaal wel!
Dat moet dus niet ...

Als je een webpagina opvraagt stuurt de webserver headers voor de pagina uit. Dus je kan niet nadat je al de content van je pagina gestuurd hebt nog eens headers gaan bedenken en sturen.

  • dmnq
  • Registratie: Januari 2000
  • Laatst online: 16-09 13:29

dmnq

zonder klinkers

de hele mikmak buffered versturen...dus eerst alle output bewaren en dan in een keer naar de client overpompen

Hosting (100 MB Harddisk, 1 GB Traffic, 5 POP, MySQL, PHP voor € 3,60 per maand)


Verwijderd

Scriptje posten? [hint?]

Heb je misschien al output ge-echo't (= russisch)

  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
Waarom zou je vanuit pag2.php HTML moeten sturen? Je kunt zoiets doen bv.:

pag2.php:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?
    (valideer de gegevens)
    if ($invalid)
    {
      Header("location: pag1.php");
    }
    else
    {
?>
<HTML>
  ...
</HTML>
<?
    }
?>

  • Kees
  • Registratie: Juni 1999
  • Laatst online: 11:54

Kees

Serveradmin / BOFH / DoC
Het is inderdaad nogal belangrijk dat je geen spatie, enter eerder stuurt dan de headers, daar kun je heel moeilijk over doen maar het is gewoon zo :)

dus 1. Eerst headers
en dan 2. HTML (eventueel, kan ook binary data zijn bijv.)

dingen als
code:
1
 <? header("location: blaat.html"); ?>

gaan gewoon niet werken :) (mind the spatie)

[acm-edit] 2 aanhalings tekens aan het eind van een string werkt zowiezo niet :P[/acm-edit]

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

(jarig!)
Op maandag 01 oktober 2001 14:53 schreef pret het volgende:
En zeg aub niet dat ik geen HTML moet versturen van te voren, maar dat moet nu eenmaal wel !
Euh, als je het met php op wil lossen is dat in principe wel verplicht.
Je kan evt met javascript spelen. En meta-refresh tags etc.

Maar als je het met php wilt doen, moet je eerst de headers en daarna pas de rest versturen (als je een Location header wilt versturen wil je als het goed is geen html versturen... dus waar maak je je druk om ;) )

Verwijderd

Topicstarter
dit is wat ik momenteel heb:

main.php

<?php
session_start();

if ($HTTP_POST_VARS["username"] && $HTTP_POST_VARS["password"]) {

$passgecodeerd = md5($HTTP_POST_VARS["password"]);
$username = $HTTP_POST_VARS["username"];

session_register("username");
session_register("passgecodeerd");

header("Location: page1.php");
exit;
}
else {
?>

 <P>
<HR>
<CENTER><B><FONT SIZE="3" COLOR="#FF0000">Authenticatie</FONT></B></CENTER>
<HR>

<FORM ACTION="main.php" METHOD="POST">
<TABLE ALIGN=CENTER>
<TR>
<TD>Gebruikersnaam</TD>
<TD><INPUT TYPE="TEXT" NAME="username"></TD>
</TR>
<TR>
<TD>Wachtwoord</TD>
<TD><INPUT TYPE="TEXT" NAME="password"></TD>
</TR>
<TR>
<TD></TD>
<TD><INPUT TYPE="SUBMIT" VALUE="Login"></TD>
</TR>
</TABLE>
</FORM>


<? } ?>


page1.php


<?php
session_start();

$controle == FALSE;

include ("includes/functions.inc");

$controle = password($username, $passgecodeerd);

if ($controle == TRUE) {
echo "je bent goed in gelogt $username";

}
else {
header ("Location: http://www.lousberg.net");
exit;
}
?>


functions.inc

<?php

// functions.inc (hier staan alle functie in een voor db connecten
// en een voor het matchen van de wachtwoorden)

function verbind() {
$db_host = "********";
$db_login = "********";
$db_pass = "*********";
$db_database = "********";
mysql_connect("$db_host", "$db_login", "$db_pass") or die("Database connectie mislukt.");
mysql_select_db("$db_database")or die("Selecteren van database mislukt.");
}

function password($username, $passgecodeerd) {
verbind();

$pass_uit_database = "";

$sql = "SELECT password FROM _users WHERE username LIKE '%$username%' ORDER BY nId DESC";
$resultaat = mysql_query($sql) or die(mysql_error());

if ($row = mysql_fetch_object($resultaat)) {$pass_uit_database = $row->password;

if($passgecodeerd == $pass_uit_database) {
return TRUE;
}
else {
return FALSE;
}
}
else {
return FALSE;
}
}

?>


.....en de melding is dus na het inloggen dat ik op page1.php de header al verzonden heb! :(

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

[mod/edit-request]
[ code] of [ php] -tags ?
[/mod/edit-request]

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

(jarig!)
Geen spaties etc voor en achter de functions.inc?

geen spaties etc voor en achter je page2.php code?

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Of returns.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Verwijderd

Topicstarter
Op maandag 01 oktober 2001 15:43 schreef dusty het volgende:
Of returns.
euhh...sorry....
Could you please explain ???

  • TheDjasp
  • Registratie: Juni 2001
  • Laatst online: 26-06 08:16

TheDjasp

het wordt toch niks

Als in Enters.

Omdat het KAN, HOEFT het nog niet!
I haven't been ignoring you; I've been prioritizing you. Hanglooz; "chromeless windows en fullscreen zuigen allebei als een 1600Watt Nilfisk"
logt nu ook


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

(jarig!)
Op maandag 01 oktober 2001 15:43 schreef dusty het volgende:
Of returns.
Op maandag 01 oktober 2001 15:37 schreef ACM het volgende:
Geen spaties etc
Mja, eigenlijk behoord een return tot de space character class (tenminste, vaak bij de regexpen enzo wel ;) net als tabs, vertical breaks etc)
Pagina: 1