Dell U2711 *O* | Intel Core i7 2600K | 8GB RAM | Samsung Spinpoint 2TB | EVGA P67 FTW | Club3D HD6790 | Samsung 830 256GB - Alles
Onderwerpen
Verder moet je onderhand Waar hoort mijn topic? toch wel kennen of weten te vinden.
WEB >> PRG
RobIII wijzigde deze reactie 11-05-2012 23:44 (18%)
Never test for an error you don't know how to handle.
Trotse papa van Luca en Danu! | Pick My Icon!
sorry ik ben idd moe. OMG.quote:
Ik zal de relevante code van connect.php hier posten:
PHP:
1 | <?php
|
De rest van de code gaat altijd goed dus waarom nu niet, dat is altijd hetzelfde en heeft de user geen invloed op.
De foutmelding heeft waarschijnlijk met de logincheck te maken die ik vaak doe, en die gaat met de function session_login_check():
PHP:
1 | <?php
|
Geen fouten voor zover ik weet.
Deze wordt dus _ergens_ oprgeroepen. Ja, in de connect even terug om de rechten te bepalen. Maar het inlogscript overschrijft de rechten weer - geen bug dus en in de connect komt, zoals ik al zei, op de db na geen error voor.
Wat ik me nog kan bedenken is dat het script doorloopt na het inloggen, wat ik me niet kan voorstellen ivm de header en de direct volgende exit;
edit:
na veel geëxperimenteer blijkt het probleem sporadisch niet voor te komen, wat het dus nog vager maakt allemaal.......
@Roblll
Ik heb me nu helemaal suf zitten piekeren en debuggen en code minimaliseren en doen, maar ik zie de fout niet en ik loop elke function en include op het pad na maar NERGENS komt die foutmelding voor. Nergens kan die worden geset. Dat is het probleem.
F.West98 wijzigde deze reactie 11-05-2012 23:58 (9%)
Dell U2711 *O* | Intel Core i7 2600K | 8GB RAM | Samsung Spinpoint 2TB | EVGA P67 FTW | Club3D HD6790 | Samsung 830 256GB - Alles
Welke header? Ik zie je nergens een redirect doen ofzo? En de die's die je hierboven doet hebben niks te maken met de twee meldingen die je noemt.quote:Wat ik me nog kan bedenken is dat het script doorloopt na het inloggen, wat ik me niet kan voorstellen ivm de header en de direct volgende exit;
Omines - Snel en gratis juridisch advies
Standeman: Ik wil mijn ballen ook wel doneren hoor, ik doe er toch ook niets meer mee.
Dus in geen enkel bestand staat die tekst?quote:F.West98 schreef op vrijdag 11 mei 2012 @ 23:54:
ik loop elke function en include op het pad na maar NERGENS komt die foutmelding voor. Nergens kan die worden geset. Dat is het probleem.
(Antwoord interesseert me niet zo zeer, het gaat er met name om dat jij dus bedenkt waar die foutmelding gedefinieerd is)
En nog wat ongevraagde correcties (constructief bedoeld) :
1. Return false is zorgt er nog niet voor dat je 'session helemaal unset' wordt.
2. Als je iets started_at noemt, moet je niet elke keer de huidige tijd erin zetten, of het gewoon last_used noemen.
3. MAX_SESSION_LENGTH is zeker iets van 42 centimeter? 'length' != tijdsduur.
4. Foot != footer
5. Misschien wel handig om Exceptions te gebruiken of 1 functie voor fatale fouten ipv steeds een echo + html_foot() + die() te copy/pasten
6. $connect is geen goede naam. Noem het een connectie (connection
7. Een comment 'begin sessie' boven een standaard function genaamd 'session_start' voegt niets toe
8. Een comment 'verbinden met database' boven een standaard function genaamd '*sql_connect' voegt niets toe
9. mysql_select_db() geeft een bool terug, dus dat is zeker geen $database. Zoek op wat dit soort system calls doen, want anders kan je nooit de code begrijpen.
Etc. etc.
O enne, nu is het topic in ieder geval niet meer voutloosvrij.
Voutloos wijzigde deze reactie 12-05-2012 00:57 (53%)
Talkin.nl daily photoblog
Day 2672: Biennale
En inhoudelijk: een sessievariabele setten en dezelfde variabele uitlezen in hetzelfde script gaat niet altijd even lekker.
Omines - Snel en gratis juridisch advies
Standeman: Ik wil mijn ballen ook wel doneren hoor, ik doe er toch ook niets meer mee.
Jawel, maar niet in bestanden gerelateerd aan inloggen/uitloggen......quote:
Hij haalt enkel usergegevens op uit database, error staat er niet in. Alle includes nagegaan en includes in includes ook, maar nergens die foutmelding mogelijk.quote:Staan teksten in de database, roep je externe zaken aan die een foutmelding kunnen geven etc. etc. ?
de // is een vervanging voor het unsettenquote:[small]En nog wat ongevraagde correcties (constructief bedoeld) :
1. Return false is zorgt er nog niet voor dat je 'session helemaal unset' wordt.
de true of false is voor een check (if(session_login_check())) of je bent ingelogd
DAT deel is niet mijn maar Wiethoofd's code, dus dan moet je bij hem zijnquote:2. Als je iets started_at noemt, moet je niet elke keer de huidige tijd erin zetten, of het gewoon last_used noemen.
samequote:3. MAX_SESSION_LENGTH is zeker iets van 42 centimeter? 'length' != tijdsduur.
Dat is een functie om eind van de pagina te doen, incl alle info als </body> en </html>quote:4. Foot != footer
niet mijn code - het werkt en ik hoef er niets aan aan te passen dus waarom welquote:5. Misschien wel handig om Exceptions te gebruiken of 1 functie voor fatale fouten ipv steeds een echo + html_foot() + die() te copy/pasten
6. $connect is geen goede naam. Noem het een connectie (connection), mysql link of resource
weer niet mijn codequote:7. Een comment 'begin sessie' boven een standaard function genaamd 'session_start' voegt niets toe
8. Een comment 'verbinden met database' boven een standaard function genaamd '*sql_connect' voegt niets toe
9. mysql_select_db() geeft een bool terug, dus dat is zeker geen $database. Zoek op wat dit soort system calls doen, want anders kan je nooit de code begrijpen.
nogmaals probeer ik het uit te leggen.
de value's die worden meegegeven:
inlognaam en wachtwoord.
dit is de weg van het script tot de exit;
connect.php : wachtwoord/username wordt niet opgeroepen en alles buiten de functions incl. includes e.d. geeft die error niet en roept zoiets ook NIET op.
if request method = post -> yes
include loginscript (als ik dat niet doe, ook de error)
exit;
de code van het loginscript:
PHP:
| <?php
|
Dus nergens die melding.
De exacte melding is:
Deze geef ik enkel als ik een if(session_login_check()) doe, en als die fout is. Dat komt enkel voor in de /admin directory, waar niets zit. (first_time.php heeft ook geen check)quote:Voor deze actie moet je ingelogd zijn
De index tot de exit:
PHP:
1 | <?php
|
Mijn conclusie: de connect.php:
PHP:
| <?php
|
Ik zit dus echt met m'n handen in het haar
Zelfs als ik de index.php eruit haal en dus direct naar de login.php link en daar connect oproep gaat het fout...
Dell U2711 *O* | Intel Core i7 2600K | 8GB RAM | Samsung Spinpoint 2TB | EVGA P67 FTW | Club3D HD6790 | Samsung 830 256GB - Alles
Waar krijg je die melding dan wel? Dat is dan toch zeker wel de eerste plek waar je gaat kijken??quote:F.West98 schreef op zaterdag 12 mei 2012 @ 17:56:
[...]
Jawel, maar niet in bestanden gerelateerd aan inloggen/uitloggen......
Omines - Snel en gratis juridisch advies
Standeman: Ik wil mijn ballen ook wel doneren hoor, ik doe er toch ook niets meer mee.
Reg. datum: 20-03-2001
Ok, verander die melding daar eens? Zodat je in ieder geval kan zien of het die exacte melding is...quote:F.West98 schreef op zaterdag 12 mei 2012 @ 17:56:
[...]
Deze geef ik enkel als ik een if(session_login_check()) doe, en als die fout is. Dat komt enkel voor in de /admin directory, waar niets zit. (first_time.php heeft ook geen check)
Als je de exacte melding gevonden hebt dan mag je gaan uitpuzzelen waarom die aangeroepen wordt (desnoods gooi je na elke regel in je config.php een echo linenumber zodat je exact kan zien waar het fout gaat)
Komop zeg, zo ingewikkeld is debugging toch niet als je een exacte melding hebt... Of je kan er een debugger aanhangen of je kan met echo statements proberen te achterhalen wat er nu daadwerkelijk gebeurt.
Of je kan je files line voor line verwijderen totdat je de schuldige hebt.
Dat snap ik dus nietquote:NMe schreef op zaterdag 12 mei 2012 @ 18:06:
[...]
Waar krijg je die melding dan wel? Dat is dan toch zeker wel de eerste plek waar je gaat kijken??
Wat ik nu heb gedaan in de connect.php:
elke keer een exit ergens gezet en geeeen melding.
zodra ik de exit aan het eind aangekomen weghaal dan komt de melding weer terug.
maar als ik de rest van het script comment maak is er wel een melding
Dat zijn tientallen files.........quote:Gomez12 schreef op zaterdag 12 mei 2012 @ 18:22:
[...]
Ok, verander die melding daar eens? Zodat je in ieder geval kan zien of het die exacte melding is...
wat ik dus al deed dmv exitsquote:Als je de exacte melding gevonden hebt dan mag je gaan uitpuzzelen waarom die aangeroepen wordt (desnoods gooi je na elke regel in je config.php een echo linenumber zodat je exact kan zien waar het fout gaat)
Nou de melding is dus best algemeenquote:Komop zeg, zo ingewikkeld is debugging toch niet als je een exacte melding hebt... Of je kan er een debugger aanhangen of je kan met echo statements proberen te achterhalen wat er nu daadwerkelijk gebeurt.
Of je kan je files line voor line verwijderen totdat je de schuldige hebt.
Ik kom erachter dat de fout zit in het aanroepen van de pagina 1st time. Daarna gaat het goed....
Het ligt aan de js, als ik die niet inlaad is het probleem verholpen (back to WEB)
F.West98 wijzigde deze reactie 12-05-2012 18:33 (7%)
Dell U2711 *O* | Intel Core i7 2600K | 8GB RAM | Samsung Spinpoint 2TB | EVGA P67 FTW | Club3D HD6790 | Samsung 830 256GB - Alles
Reg. datum: 20-03-2001
So what?quote:
Als jij je app zo opzet dat die tientallen keren exact dezelfde foutmelding bevat, moet je niet bij anderen aankomen dat het opeens veel werk is om al die tientallen keren te vervangen.
Want in wezen heb je nu dus schijnbaar nog steeds geen idee waar die melding vandaan komt.
Wat je dus niets geholpen heeft, of omdat je de exits verkeerd hebt gezet of vanwege een andere reden.quote:[...]
wat ik dus al deed dmv exits
Your choice, your problem.quote:[...]
Nou de melding is dus best algemeen
Ergens in je code zit iets verkeerds, desnoods ga je even in de php-documentatie kijken naar macros oid die iets als %file% accepteren oid zodat je met 1 generieke replace-all over meerdere files het in 1x inzichtelijk kan maken. Maar tientallen files klinkt mij nou niet echt als een onoverkomelijk probleem in de oren, max 1 minuut per file (inclusief testen) en je hebt het binnen tientallen minuten...
edit:
De function die de PHP oproept die de error geeft wordt enkel opgeorepen met de volgende regel:
[code=js]
$('#bewerk').find('.submit').bind("click", (function() { ajaxsubmit();
[/code]
#bewerk is dus zeker niet de form 1 met inloginfo
klopt niet
F.West98 wijzigde deze reactie 12-05-2012 18:47 (41%)
Dell U2711 *O* | Intel Core i7 2600K | 8GB RAM | Samsung Spinpoint 2TB | EVGA P67 FTW | Club3D HD6790 | Samsung 830 256GB - Alles
Omines - Snel en gratis juridisch advies
Standeman: Ik wil mijn ballen ook wel doneren hoor, ik doe er toch ook niets meer mee.
Ik had een check zitten dat als je op enter drukt hij die function uitvoerde... En die gaf de foutmelding terwijl 'ie ook submitte. Hij werkt!
Wel bedankt voor de hulp, ik was zelf nooit op het idee gekomen om de exits in de connect.php te zetten (waardoor ik nu een oplossing heb)
F.West98 wijzigde deze reactie 12-05-2012 18:48 (27%)
Dell U2711 *O* | Intel Core i7 2600K | 8GB RAM | Samsung Spinpoint 2TB | EVGA P67 FTW | Club3D HD6790 | Samsung 830 256GB - Alles
Reg. datum: 20-03-2001
Tip voor het vervolg : Zorg voor unieke foutmeldingen (bij voorkeur enkel in je backend) zodat je een fout direct kan traceren. En zorg voor een logging-/debuggingframework.quote:F.West98 schreef op zaterdag 12 mei 2012 @ 18:48:
Wel bedankt voor de hulp, ik was zelf nooit op het idee gekomen om de exits in de connect.php te zetten (waardoor ik nu een oplossing heb)
Zodat je volgende keer niet meer hoeft te gissen naar een fout die vanuit tientallen files kan voortkomen.
Never test for an error you don't know how to handle.
Trotse papa van Luca en Danu! | Pick My Icon!
Voortaan zal ik daar meer op letten, van fouten leer men moet je maar denken
en zucht. Nu werkt cURL niet. hij beweert dat curl_init() een niet gedefinieerde function is.... Eerst zelf maar even uitzoeken
F.West98 wijzigde deze reactie 12-05-2012 22:13 (21%)
Dell U2711 *O* | Intel Core i7 2600K | 8GB RAM | Samsung Spinpoint 2TB | EVGA P67 FTW | Club3D HD6790 | Samsung 830 256GB - Alles
waar ik dus na 3 uur zoeken achter kwam. Waarom staat die niet standaard aan in wampserver...quote:Cartman! schreef op zaterdag 12 mei 2012 @ 23:16:
De melding is ieder geval duidelijk, je hebt curl niet mee gecompileerd
En nu wil Simple HTML DOM Parser niet de outertext van de head geven
Dell U2711 *O* | Intel Core i7 2600K | 8GB RAM | Samsung Spinpoint 2TB | EVGA P67 FTW | Club3D HD6790 | Samsung 830 256GB - Alles
Redelijk wat fruit speelgoed, paar vps'en en nog wat wat andere zut.
Ik gebruik curl voor het eerst... Dus dat wist ik niet..quote:kwaakvaak_v2 schreef op maandag 14 mei 2012 @ 13:09:
3 uur om achter iets te komen wat je gewoon 1 een keer had kunnen zien door phpinfo() op te vragen. Misschien toch maar eens een schriftelijke cursus debuggen van de LOI doen?
En in die 3 uur ben ik OOK andere dingen gaan doen hoor...
En de HTML ding ben ik al uit
Dell U2711 *O* | Intel Core i7 2600K | 8GB RAM | Samsung Spinpoint 2TB | EVGA P67 FTW | Club3D HD6790 | Samsung 830 256GB - Alles
Omines - Snel en gratis juridisch advies
Standeman: Ik wil mijn ballen ook wel doneren hoor, ik doe er toch ook niets meer mee.
Ik had er nog nooit van gehoordquote:NMe schreef op maandag 14 mei 2012 @ 17:57:
phpinfo() is de eerste functie die je aanroept als wat voor standaardfunctie dan ook niet werkt.
Ik heb nooit goed leren debuggen (anderhalf jaar ervaring btw)
Dell U2711 *O* | Intel Core i7 2600K | 8GB RAM | Samsung Spinpoint 2TB | EVGA P67 FTW | Club3D HD6790 | Samsung 830 256GB - Alles
Je maakt mij niet wijs dat we je nog nooit op Debuggen: Hoe doe ik dat? gewezen hebben of dat je die link hier nog nooit voorbij hebt zien komen? En sterker nog: iets meer dan een jaar geleden wist je klaarblijkelijk wél dat je cURL moest installeren.quote:F.West98 schreef op maandag 14 mei 2012 @ 18:19:
Ik heb nooit goed leren debuggen (anderhalf jaar ervaring btw)
RobIII wijzigde deze reactie 14-05-2012 19:03 (25%)
Never test for an error you don't know how to handle.
Trotse papa van Luca en Danu! | Pick My Icon!
Blijkbaar zit het in stock PHP wel en in Wampserver niet en dus had ik er nog nooit van gehoord. Het werkte toen zonder enig probleem...quote:RobIII schreef op maandag 14 mei 2012 @ 19:00:
[...]
Je maakt mij niet wijs dat we je nog nooit op Debuggen: Hoe doe ik dat? gewezen hebben of dat je die link hier nog nooit voorbij hebt zien komen? En sterker nog: iets meer dan een jaar geleden wist je klaarblijkelijk wél dat je cURL moest installeren.
Verder SNAP ik wel hoe je moet debuggen maar ben ik er niet goed in. En in dit geval zat ik in de verkeerde hoek te zoeken...
Dell U2711 *O* | Intel Core i7 2600K | 8GB RAM | Samsung Spinpoint 2TB | EVGA P67 FTW | Club3D HD6790 | Samsung 830 256GB - Alles
Even je php.ini aanpassen, daar zie je de volgende regel staan:quote:F.West98 schreef op dinsdag 15 mei 2012 @ 13:21:
[...]
Blijkbaar zit het in stock PHP wel en in Wampserver niet en dus had ik er nog nooit van gehoord. Het werkte toen zonder enig probleem...
ini:
1
| ;extension=php_curl.dll |
Even de ';' weghalen en cURL werkt (nadat je Apache opnieuw hebt opgestart).
Dat had ik dus al via wampserver admin gedaan, maar nog bedanktquote:Manuel schreef op dinsdag 15 mei 2012 @ 13:34:
[...]
Even je php.ini aanpassen, daar zie je de volgende regel staan:
ini:
1 ;extension=php_curl.dll
Even de ';' weghalen en cURL werkt (nadat je Apache opnieuw hebt opgestart).
Dell U2711 *O* | Intel Core i7 2600K | 8GB RAM | Samsung Spinpoint 2TB | EVGA P67 FTW | Club3D HD6790 | Samsung 830 256GB - Alles
Pagina: 1





