Weet je zeker dat je geen enters of spaties voor de opening van je PHP-tag hebt?quote:Op donderdag 18 maart 2010 15:22 schreef MrNiles het volgende:
ervoor??
daarvoor staat niets....dat is het begin van de file
yep...ik heb backspace gedaan...nothing happenedquote:Op donderdag 18 maart 2010 15:23 schreef Tijn het volgende:
[..]
Weet je zeker dat je geen enters of spaties voor de opening van je PHP-tag hebt?
helaas geen succesquote:Op donderdag 18 maart 2010 15:32 schreef captaintokyo het volgende:
Ik denk dat het iets te maken heeft met je file encoding en/of line endings. Met welk programma edit je het php bestand?
Vreemd, dat is niet het deel waar de foutmelding over gaat... Misschien stond er een onzichtbaar teken aan het begin van je bestand. Probeer het nu nog eens met het mail-deel actief?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | session_start(); if (isset($_SESSION['ja'])) { // doe niks } else { // schop terug header("location:login.php"); } ?> <html> <body> Login Successful <?php echo "user ID = ". $_SESSION['ja']; //retrieve data ?> </body> </html> |
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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | ob_start(); $host="localhost"; // Host name $username=""; // Mysql username $password=""; // Mysql password $db_name="app"; // Database name $tbl_name="members"; // Table name // Connect to server and select databse. mysql_connect("$host", "$username", "$password")or die("cannot connect"); mysql_select_db("$db_name")or die("cannot select DB"); // Define $myusername and $mypassword $myusername=$_POST['myusername']; $mypassword=$_POST['mypassword']; // To protect MySQL injection (more detail about MySQL injection) $myusername = stripslashes($myusername); $mypassword = stripslashes($mypassword); $myusername = mysql_real_escape_string($myusername); $mypassword = mysql_real_escape_string($mypassword); $sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'"; $result=mysql_query($sql); // Mysql_num_row is counting table row $count=mysql_num_rows($result); // If result matched $myusername and $mypassword, table row must be 1 row if($count==1){ // Register $myusername, $mypassword and redirect to file "index.php" session_start(); $_SESSION['ja'] = $id; // <-- hier moet dus de id van de user inkomen.. maar hoe deze erin te krijgen? header("location:index.php"); } else { echo "login failed"; } ob_end_flush(); ?> |
Die + maakt het stuk. Probeer het eens met de quantifier {0,1}, en zorg dat die / daar ook onder valt.quote:Op donderdag 18 maart 2010 15:43 schreef Intrepidity het volgende:
Ik heb een regex probleem, voornamelijk omdat ik er super slecht in ben Ik ben wat aan het klussen aan de routing-klasse van mijn framework, die de URL van de aanvraag ontleedt in een aantal delen: controller, actie en parameters. Ieder van deze delen is optioneel, dus:
/ --> default controller, default actie
/test --> 'test' controller, default actie
/test/blaat --> 'test' controller, 'blaat' actie
/test/blaat/1/2/3 --> 'test' controller, 'blaat' actie met parameters 1, 2, 3.
Voor ieder deel geldt dat de geldige karakters [a-zA-Z0-9] zijn.
Ik heb nu een gigantisch lelijke oplossing:
^/([a-zA-Z0-9]+)/([a-zA-Z0-9]+?)/(.+?)$
Daarbij is het dus nodig de string te manipuleren zodat er al minstens 3 slashes in staan, anders matched de regex al niet.
Maar zelfs dat werkt niet, want als ik geen actie opgeef wordt het patroon niet gematched. verander ik +? van de 2e subexpressie in ?+ dan werkt het wel, maar dan werkt het weer niet als er wél een actie is opgegeven.
Kortom, ik snap geen reet van regular expressions, moet hier nodig eens over gaan inlezen, maar momenteel kom ik er niet uit Ik wil dus ieder afzonderlijk deel los uit de expressie trekken, behalve de parameters, die mogen in de vorm van 'param1/param2/param3' blijven in 1 string.
Help, anyone?
Je haalt al een rij op uit de database, kijk eens hoe je daar de data uithaalt (kan bv. met mysql_fetch_row of mysql_result of mysql_fetch_array).quote:Op donderdag 18 maart 2010 20:09 schreef Dokay het volgende:
Heuj, ik heb een relatief simpele login met sessions werkend weten te krijgen. Nu zou ik alleen de id van de gebruiker in de session waarde willen persen, zodat ik op de "member" pagina de bijbehorende sql rijen van deze specifieke gebruiker aan kan roepen. Ik heb veel geklooid maar krijg steeds parse errors. Wat ik nu heb:
index.php
[ code verwijderd ]
check.php:
[ code verwijderd ]
Ik weet het beginnersvraag maar ik kwakkel nog erg met PHP, vandaar dat ik enorm uit de brand geholpen zou zijn als iemand me dit uit kan leggen. Bvd
Ik heb nog eens wat geprobeerd:quote:Op donderdag 18 maart 2010 15:52 schreef Intrepidity het volgende:
Daar krijg ik dit als resultaat uit: Array ( [0] => /test/blaat/1/2/3/ [1] => /3 )
De bedoeling is om Array ( [0] => 'test', [1] => 'blaat', [2] => '1/2/3/' ) te krijgen :) (of desnoods de parameters ook verder uitgesplitst, dat boeit niet.
En als je denkt: explode dan simpelweg op de slash; dat zou kunnen, maar de routing regels moeten dynamisch kunnen wezen, die gaan in een .xml file opgeslagen worden en iemand anders moet wat mij betreft kunnen zeggen dat de delen op basis van een apenstaart of whatever gesplitst worden, als voorbeeld :P
1 |
quote:Op donderdag 18 maart 2010 21:33 schreef GlowMouse het volgende:
[..]
Je haalt al een rij op uit de database, kijk eens hoe je daar de data uithaalt (kan bv. met mysql_fetch_row of mysql_result of mysql_fetch_array).
my bad heb je een idee welke code de truuk wel zou flikken? mormels alsquote:Op donderdag 18 maart 2010 22:50 schreef GlowMouse het volgende:
je post gewoon hetzelfde die stripslashes hoeft trouwens alleen maar als magic_quotes_gpc aanstaat.
En magic_quotes_gpc hoort gewoon uit te staan.quote:Op donderdag 18 maart 2010 22:50 schreef GlowMouse het volgende:
je post gewoon hetzelfde die stripslashes hoeft trouwens alleen maar als magic_quotes_gpc aanstaat.
ben eruit nu, bedanktquote:Op donderdag 18 maart 2010 23:01 schreef GlowMouse het volgende:
Het codevoorbeeld op http://nl2.php.net/mysql_result is heel duidelijk
SPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
voor de teruglezers,quote:Op donderdag 18 maart 2010 14:18 schreef Intrepidity het volgende:
Probeer eens ob_start(); helemaal aan het begin van je PHP-bestand te zetten (net na <?php dus) en ob_end_flush(); net voor ?>.
Daarmee creëer je een output buffer. Dat wil zeggen dat PHP eerst alle inhoud van de PHP opspaart voordat het aan de browser verstuurd wordt. Normaal als je echo doet wordt het direct naar de browser verstuurd. Met een output buffer verstuur je alles op een later tijdstip in 1 keer. Aangezien je niets naar de browser mag verzenden voor een header(); aanroep. Normaal zie je daar een foutmelding van, maargoed, het is het proberen waard
Volgens mij is dat precies was Intrepidity ook schreef, behalve dan dat hij geen short open tags gebruikte. <?php werkt op iedere php-host, maar of <? ook werkt is niet te garanderen. Dat is namelijk afhankelijk van een configuratie-instelling. Het is beter daar niet op te vertrouwen.quote:Op vrijdag 19 maart 2010 08:46 schreef MrNiles het volgende:
[..]
voor de teruglezers,
dit was dus wel de oplossing alleen de code was net niet helemaal goed
dit is de juiste:
begin van de pagina: <? ob_start();
eind vd pagina: ob_flush(); ?>
lijkt het zelfde te zijn...maar het werkt nu wel
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |