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.
Hoe moet dit?
Hoe moet dit?
Code (php)
Gewijzigd op 04/04/2014 14:02:50 door Bart Matsko
Sowieso al omdat je niet controleert of er gepost is.
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.
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 -
Controleren of er ge-POST is.
Ja die <h1> is gewoon als test.
Wat is het verschil tussen de twee code's die jullie geven of maakt het uiteindelijk niet uit?
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.
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?
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
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.
- 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?
Je zit al in de PHP-modus, dus waarom open je dan opnieuw een PHP-tag?
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.
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 -
Volgens mij bedoel jij dit:
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.
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?
Jammer dat je ook de bestandsnaam, en de regelnummer achter de dubbele punt, uit je error, weghaalt.
Daar vind je de bottleneck.
Daar vind je de bottleneck.
Gewijzigd op 05/04/2014 10:32:27 door - Ariën -
- 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?
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


Gewijzigd op 05/04/2014 11:19:13 door Bart Matsko




