Vraag over 'echo'
Ik probeer een simpel login forum te maken en het werkt perfect. Alleen staat er altijd al 'Code fout' en dat moet er alleen komen als hij ook echt fout is. Niet als je nog niks hebt ingevoerd.
Ik neem aan dat h1 als test is? Je gebruikt geen heading om een foutmelding weer te geven, maar waar z'n naam zegt dat ie voor bedoelt is. Sowieso al omdat je niet controleert of er gepost is.
Controleren of er ge-POST is.
Wat is het verschil tussen de twee code's die jullie geven of maakt het uiteindelijk niet uit? Ja die <h1> is gewoon als test. Als je beide samenvoegt heb je de perfecte code ;) In dit geval zou de isset niet helemaal gepast zijn. Het volgende is beter.
Waarom een meta ipv header location, of nog beter, op de zelfde pagina?
isset() voorkomt notices. Die van Aar heeft een else.
Wat is precies isset?
En ik gebruikte header location niet omdat ik het niet fixend kreeg. Ik heb op dit moment:
De reden waarom ik het bestand niet in dit document zet is omdat het geen bestand is. Zoals ik al zei is dit een soort test voor mezelf en gaat het naar een map zonder index bestand.
Zo iets dus:
Ik ben er nog niet achter of het ook mogelijk is om een bestand te maken waarmee je dit kan zien en zelf gewoon mooie pagina ervan kan maken. Tot nu toe ben ik daarover nog niets tegen gekomen op google dus dan maar zo dacht ik.
Gr
Waarom open je een PHP-tag midden in je echo? En waarom wil je nog iets echo'en als je toch iemand doorstuurt?
Wat isset() doet, dat is niets meer dan controleren of een variabele bestaat. over je laatste code, kijk eens naar de kleurtjes....
De kleurtjes heb ik sowieso nooit begrepen. Het is rood maar meer delen zijn rood die wel goed zijn dus dat betekend niet dag het fout is lijkt me.
En waarom ik een PHP tag open, omdat ik jet eerst zonder PHP geprobeerd had maar dat werkte ook niet. Ik smal niet hoe ik het anders moet doen?
Verder kan je gewoon header('Location: http://google.nl/'); gebruiken, alleen die echo is behoorlijk onnodig, en kan je dan weglaten. let erop dat er ook in het pad die het script volgt ook geen echo bovenaan staat. Je zit al in de PHP-modus, dus waarom open je dan opnieuw een PHP-tag?
Maar als ik dan inlog komt deze foutcode:
Warning: Cannot modify header information - headers already sent by (output started at ******************************) in *********************** on line 44
Toevoeging op 05/04/2014 09:37:53:
En met echo erbij komt gewoon header('Location .................) als tekst te staan zegmaar. Volgens mij bedoel jij dit: Jammer dat je ook de bestandsnaam, en de regelnummer achter de dubbele punt, uit je error, weghaalt.
37 staat er.
Het gaat om de regel: 'Log in door hieronder uw gebruikersnaam of e-mailadres en wachtwoord in te vullen.'
Nee maar ik wil die tekst er wel hebben, hoe moet ik dat gaan oplossen dan?
Ik heb hem helemaal boven aangezet en dan geeft hij dezelfde foutcode alleen slaat het dan op de regel
Ja dat is dus wat ik net heb gedaan. Maar dan krijg ik dezelfde foutcode alleen dan gaat het over de Warning: Cannot modify header information - headers already sent by (output started at /home/**********/domains/**********.nl/public_html/file/files/index.php:13) in /home/**********/domains/**********.nl/public_html/file/files/index.php on line 18
Code (php)
Ik neem aan dat h1 als test is? Je gebruikt geen heading om een foutmelding weer te geven, maar waar z'n naam zegt dat ie voor bedoelt is.
Gewijzigd op 04/04/2014 14:07:02 door Michael -
Wat is het verschil tussen de twee code's die jullie geven of maakt het uiteindelijk niet uit?
Bij Michael wordt er daadwerkelijk gekeken of $_POST["wachtwoord"] wel bestaat.
Waarom een meta ipv header location, of nog beter, op de zelfde pagina?
Code (php)
Gewijzigd op 04/04/2014 14:28:24 door Michael -
Michael - op 04/04/2014 14:22:29:
isset() voorkomt notices. Die van Aar heeft een else. Als je beide samenvoegt heb je de perfecte code ;) In dit geval zou de isset niet helemaal gepast zijn. Het volgende is beter.
Waarom een meta ipv header location, of nog beter, op de zelfde pagina?
Waarom een meta ipv header location, of nog beter, op de zelfde pagina?
Wat is precies isset?
En ik gebruikte header location niet omdat ik het niet fixend kreeg. Ik heb op dit moment:
Code (php)
De reden waarom ik het bestand niet in dit document zet is omdat het geen bestand is. Zoals ik al zei is dit een soort test voor mezelf en gaat het naar een map zonder index bestand.
Zo iets dus:
Ik ben er nog niet achter of het ook mogelijk is om een bestand te maken waarmee je dit kan zien en zelf gewoon mooie pagina ervan kan maken. Tot nu toe ben ik daarover nog niets tegen gekomen op google dus dan maar zo dacht ik.
Gr
Waarom open je een PHP-tag midden in je echo? En waarom wil je nog iets echo'en als je toch iemand doorstuurt?
Wat isset() doet, dat is niets meer dan controleren of een variabele bestaat.
- Aar - op 05/04/2014 01:21:15:
over je laatste code, kijk eens naar de kleurtjes....
Waarom open je een PHP-tag midden in je echo? En waarom wil je nog iets echo'en als je toch iemand doorstuurt?
Wat isset() doet, dat is niets meer dan controleren of een variabele bestaat.
Waarom open je een PHP-tag midden in je echo? En waarom wil je nog iets echo'en als je toch iemand doorstuurt?
Wat isset() doet, dat is niets meer dan controleren of een variabele bestaat.
De kleurtjes heb ik sowieso nooit begrepen. Het is rood maar meer delen zijn rood die wel goed zijn dus dat betekend niet dag het fout is lijkt me.
En waarom ik een PHP tag open, omdat ik jet eerst zonder PHP geprobeerd had maar dat werkte ook niet. Ik smal niet hoe ik het anders moet doen?
Verder kan je gewoon header('Location: http://google.nl/'); gebruiken, alleen die echo is behoorlijk onnodig, en kan je dan weglaten. let erop dat er ook in het pad die het script volgt ook geen echo bovenaan staat.
Gewijzigd op 05/04/2014 08:55:50 door - Ariën -
Code (php)
Maar als ik dan inlog komt deze foutcode:
Warning: Cannot modify header information - headers already sent by (output started at ******************************) in *********************** on line 44
Toevoeging op 05/04/2014 09:37:53:
En met echo erbij komt gewoon header('Location .................) als tekst te staan zegmaar.
Er mag ook geen echo of andere HTML boven je header staan.
Dat staat er toch ook niet?
- Aar - op 05/04/2014 10:31:27:
Jammer dat je ook de bestandsnaam, en de regelnummer achter de dubbele punt, uit je error, weghaalt.
37 staat er.
Het gaat om de regel: 'Log in door hieronder uw gebruikersnaam of e-mailadres en wachtwoord in te vullen.'
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<div class="tekst">
Log in door hieronder uw gebruikersnaam of e-mailadres en wachtwoord in te vullen.
<form action="index" method="POST">
<input type="password" name="wachtwoord" value="Wachtwoord" onfocus="if(this.value == 'Wachtwoord') { this.value = ''; }" onblur="if(this.value == '') { this.value = 'Wachtwoord'; }" />
<input type="submit" name="inloggen" value="Inloggen" />
</form>
</div>
<?php
if($_SERVER['REQUEST_METHOD'] == "POST")
{
if(isset($_POST["wachtwoord"]) && $_POST["wachtwoord"] == "1111")
{
header('Location: http://google.nl/');
}
else
{
echo "<div class='top'> <i class='fa fa-exclamation-triangle'></i> Om deze pagina te bezoeken dient u eerst in te loggen. <div>";
}
}
?>
Log in door hieronder uw gebruikersnaam of e-mailadres en wachtwoord in te vullen.
<form action="index" method="POST">
<input type="password" name="wachtwoord" value="Wachtwoord" onfocus="if(this.value == 'Wachtwoord') { this.value = ''; }" onblur="if(this.value == '') { this.value = 'Wachtwoord'; }" />
<input type="submit" name="inloggen" value="Inloggen" />
</form>
</div>
<?php
if($_SERVER['REQUEST_METHOD'] == "POST")
{
if(isset($_POST["wachtwoord"]) && $_POST["wachtwoord"] == "1111")
{
header('Location: http://google.nl/');
}
else
{
echo "<div class='top'> <i class='fa fa-exclamation-triangle'></i> Om deze pagina te bezoeken dient u eerst in te loggen. <div>";
}
}
?>
Er mag geen HTML boven staan.
- Aar - op 05/04/2014 10:45:05:
Er mag geen HTML boven staan.
Nee maar ik wil die tekst er wel hebben, hoe moet ik dat gaan oplossen dan?
Ik heb hem helemaal boven aangezet en dan geeft hij dezelfde foutcode alleen slaat het dan op de regel
Dat hele PHP blok boven je HTML plaatsen.
- Aar - op 05/04/2014 10:51:21:
Dat hele PHP blok boven je HTML plaatsen.
Ja dat is dus wat ik net heb gedaan. Maar dan krijg ik dezelfde foutcode alleen dan gaat het over de
Gewijzigd op 05/04/2014 10:55:08 door Bart Matsko
Geef je hele error eens?