[PHP] Forwarding

Pagina: 1
Acties:

  • Kaastosti
  • Registratie: Juni 2000
  • Laatst online: 22-08 10:27

Kaastosti

Vrolijkheid alom!

Topicstarter
Ik als PHP-newbie ben druk bezig met allerlei scriptjes en pagina's. Nou heb ik een loginscript geschreven waarbij een username/password uit een database gecontroleerd wordt. Dat werkt.

Nu komt het :)
De bedoeling is dat, als je er in mag, je op een submit-pagina komt. Als je er niet in mag uiteraard niet. Als ik bij de form 'action=submit.php' neerzet, kom ik hoe dan ook op die pagina (da's ook wel logisch), ook als username/password fout is.

Ik heb een if/else statement om het wachtwoord te controleren. Als ie klopt, wil ik dus een soort van forward uitvoeren naar een andere pagina. Het is me tot op heden nog niet gelukt in php noch html. Ik blijf op dezelfde pagina vastzitten.

Nergens is er iets over te vinden.. mag ik daaruit concluderen dat forwarden op deze manier simpelweg niet kan, of is er ergens een functie/script waarmee ik dit kan bewerkstelligen?

Een vergissing is menselijk, maar om er echt een puinhoop van te maken heb je een computer nodig.


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Doet iets met Cloud (MS/IBM)


  • razor-x
  • Registratie: Februari 2001
  • Laatst online: 05-06 07:37
PHP:
1
header("location:pagina.php");
B)

Verwijderd

PHP:
1
2
3
4
5
if($login == true){
   header("Location: page1.php");
}else{
   header("Location: page2.php");
}


Zo iets?

  • Kaastosti
  • Registratie: Juni 2000
  • Laatst online: 22-08 10:27

Kaastosti

Vrolijkheid alom!

Topicstarter
Briljant :) dat zocht ik! Mijn dank is groot
Maar ik neem aan dat dit nog voor de normale form moet komen bij een refresh oid. Dan forward ie alleen als het wachtwoord al eens goed is ingetikt.

Oh..ennuh.. uit welke editor zie ik daar screenies? Ziet er wat duidelijker uit dan notepad waar ik nu alles loop te kloppen :) Zal wel weer niet gratis zijn...

Een vergissing is menselijk, maar om er echt een puinhoop van te maken heb je een computer nodig.


  • Nazgul
  • Registratie: Februari 2000
  • Laatst online: 11-10-2022

Nazgul

Digital Pizza Crew

Die editor heet React. :)

Als ik in en forumbericht het volgende zet:
code:
1
2
3
4
5
6
[php]if($login == true){
   header("Location: page1.php");
}else{
   header("Location: page2.php");
}
[/php]


Dan komt dat er in het bericht zo uit te zien:

PHP:
1
2
3
4
5
if($login == true){
   header("Location: page1.php");
}else{
   header("Location: page2.php");
}

No trees were killed in the sending of this message. However a large number of electrons were terribly inconvenienced.


  • jvreuls
  • Registratie: Januari 2002
  • Laatst online: 31-07 13:13
En voor de mierenneukers onder ons: achter Location: moet een absolute URL :)
The field value consists of a single absolute URI.

Location = "Location" ":" absoluteURI

Circuits Online


  • Kaastosti
  • Registratie: Juni 2000
  • Laatst online: 22-08 10:27

Kaastosti

Vrolijkheid alom!

Topicstarter
Oh hehe weer wat nieuws geleerd... is wel lekker duidelijk :)
---
Maar het lukt nog steeds niet. Ik heb het volgende:
code:
1
2
3
if($goedelogin==true){
    header("Location: submit.php");
}

Als ik dit draai, krijg ik het volgende:
Warning: Cannot add header information - headers already sent by (output started at c:\apache\www\news\controle.php:9) in c:\apache\www\news\controle.php on line 11

Ik lees op php.net dat apache kennelijk moeite heeft met het aanpassen van headers. Is daar niet omheen te komen, of doe ik het gewoon absoluut op briljante wijze fout?

Een vergissing is menselijk, maar om er echt een puinhoop van te maken heb je een computer nodig.


  • Nazgul
  • Registratie: Februari 2000
  • Laatst online: 11-10-2022

Nazgul

Digital Pizza Crew

Je kunt geen headers meer aanpassen als er al data naar de client gestuurd is.

Dus je code moet voor eventuele <html> etc.. tags staan.

(zie ook de relevante pagina in de manual)

No trees were killed in the sending of this message. However a large number of electrons were terribly inconvenienced.


Verwijderd

Headers moeten altijd verstuurd worden voor gewone HTML-code, zorg er dus voor dat er geen output wordt gegeven voor het Header-commando. Geen echo() en ook geen data voor <?php dus.

[edit: hmm, net te laat :(]
Pagina: 1