[php] script stopt zonder waarschuwing

Pagina: 1
Acties:
  • 1.005 views

Acties:
  • 0 Henk 'm!

  • anonimoes
  • Registratie: Maart 2001
  • Laatst online: 11-11-2024

anonimoes

Zomerweer is ook maar relatief

Topicstarter
Momenteel ben ik bezig met een website waarop mensen zich in kunnen schrijven voor een wedstrijd. Hiervoor zijn een hoop gegevens nodig die ingevoerd, gecontroleerd en opgeslagen moeten worden.

Dit geheel handel ik af in een php script. Eerst wordt er een formulier getoond dat ingevuld moet worden. Vervolgens worden de waardes nagekeken (niet leeg en waar het nummertjes moeten zijn moet dat ook echt zo zijn enzovoorts. Op het moment dat er iets niet goed is aan de input wordt het formulier weer weergegeven met de ingevulde gegevens en een foutmelding bij de foutief ingevulde velden. Het probleem is nu echter dat het script plotsklaps lijkt te stoppen bij het weergeven van dit "correctieformulier"... Dit bestaat in het php bestand uit plain html met tussendoor <?php echo("bla"); ?> om de input informatie en de foutmeldingen erin te zetten. (Het "bla" gedeelte is meestal het outputten van een string of de output van een functie) Er zijn een aantal van deze punten waarop het script regelmatig stopt (met allen exact dezelfde php code erin). Waar gestopt wordt hangt af van waar er een foutmelding wordt weergegeven maar hier zit geen duidelijk patroon in.

De stukjes code waar hij vastloopt zien er om precies te zijn zo uit:
PHP:
1
 <?php echo (checked(no, $GETPOST_dinner)); ?> 

$GETPOST_dinner krijg ik van S_POST middels import_request_variables en bevat "yes" of "no".

De functie die aangeroepen wordt is de volgende:
PHP:
1
2
3
4
5
6
function checked($input1, $input2)
    {
    if ($input1 == $input2) $return = "CHECKED";
    else $return = "";
    return $return;
    }

Deze functie gebruik ik om te bepalen of een bepaalde checkbox CHECKED moet zijn in de html.

Wat ik tot nog toe geprobeerd heb:
- Er wordt nog eerder gestopt als ik bijvoorbeeld de $_POST array laat outputten met print_r... Hier ging ik denken aan een geheugenprobleem. Doe ik dat echter een keer of 8 dan wordt ineens wel weer het hele script afgedraaid... Een geheugenprobleem lijkt me daarmee dus uitgesloten.
- het verwijderen van de echo tussen de <?php en ?> tags waardoor er alleen een leeg stukje staat zorgt ervoor dat het hele script doorlopen wordt.
- het verwijderen van het hele stukje php laat wel het hele script doorlopen
- wanneer ik echo(functie) vervang door letterlijk echo("bla"); dan gaat het ook goed

Ik zie zelf niet waar ik de fout in ga, het lijkt aan de functie te liggen maar de functie wordt veel vaker gebruikt in hetzelfde script en daar gaat het wel goed, het is pas bij dit punt (of ietsje verderop bij een zelfde soort stukje) dat het misgaat...

Heeft iemand hier een idee waar ik naar moet kijken om dit op te lossen?

Als de gehele code nodig is dan post ik die natuurlijk graag, het is echter nogal een lang stuk dus als het zo kan is dat handiger denk ik.

Gemberthee: water met een smaakje.


Acties:
  • 0 Henk 'm!

  • WoRsTeNBoY
  • Registratie: Januari 2005
  • Laatst online: 21-01-2024
waarop test je dit?

Lokaal of remote, indien lokaal moet je eens kijken in error_log,
't kan misschien zijn dat de foutmelding niet naar je scherm gestuurd wordt maar toch gelogd wordt.

error_reporting(E_ALL); bovenaan je script kan ook opklaring geven

Acties:
  • 0 Henk 'm!

  • Dima_2005
  • Registratie: April 2007
  • Laatst online: 13-09 20:26

Dima_2005

T.net-verslaafde

anonimoes schreef op dinsdag 17 juni 2008 @ 13:57:

PHP:
1
2
3
4
5
6
function checked($input1, $input2)
    {
    if ($input1 == $input2) $return = "CHECKED";
    else $return = "";
    return $return;
    }
Grote fout....

PHP:
1
2
3
4
5
6
function checked($input1, $input2)
    {
    if ($input1 == $input2){ $return = "CHECKED"; }
    else{ $return = ""};
    return $return;
    }

Je bent zo'n dingen vergeten{} moet je altijd voor if functie gebruiken

Een tweaker zoekt altijd op Google, ik zou dat ook beter moeten doen :)


Acties:
  • 0 Henk 'm!

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02 23:12

SchizoDuckie

Kwaak

PHP:
1
set_time_limit(0)


[google=php script stops] (eerste link)

@ hierboven: waarom is dit zo'n grote fout? volgens mij is de PHP interpreter slim genoeg om dat te snappen ;)

[ Voor 9% gewijzigd door SchizoDuckie op 17-06-2008 14:05 ]

Stop uploading passwords to Github!


Acties:
  • 0 Henk 'm!

  • Patriot
  • Registratie: December 2004
  • Laatst online: 19:24

Patriot

Fulltime #whatpulsert

Probeer dit:

PHP:
1
2
3
4
5
<?php

echo checked("no", $GETPOST_dinner);

?>


@Dima_2005: Hoeft niet, dat kan prima zoals de TS het heeft.

Acties:
  • 0 Henk 'm!

  • smesjz
  • Registratie: Juli 2002
  • Niet online
Patriot schreef op dinsdag 17 juni 2008 @ 14:10:
Probeer dit:

PHP:
1
2
3
4
5
<?php

echo checked("no", $GETPOST_dinner);

?>


@Dima_2005: Hoeft niet, dat kan prima zoals de TS het heeft.
Dat los alleen deze warning op:
Notice: Use of undefined constant no - assumed 'no' .......

TS moet maar eens error_reporting aanzetten en gebruik maken van var_dump. ipv $GETPOST kan je ook $_REQUEST['dinner'] gebruiken. Dat is wat meer standaard dat er lokale variabelen van maken via die import.

Die functie is verder ok zo te zien.

Acties:
  • 0 Henk 'm!

  • anonimoes
  • Registratie: Maart 2001
  • Laatst online: 11-11-2024

anonimoes

Zomerweer is ook maar relatief

Topicstarter
Patriot schreef op dinsdag 17 juni 2008 @ 14:10:
Probeer dit:

PHP:
1
2
3
4
5
<?php

echo checked("no", $GETPOST_dinner);

?>


@Dima_2005: Hoeft niet, dat kan prima zoals de TS het heeft.
Oja, die had ik ook al gehad... Heb het toch maar overal even netjes gedaan nu voor de zekerheid.

Het weergeven van alle errors resulteerd in een hoop notices omdat ik als ik een variable uit een array nodig heb dit meestal zo doe: $array[bla] en niet zo: $array['bla']. Verder nog een paar onschuldige notices maar niks ernstigers dan notices... Ik ga bovenstaande nu toch maar even netjes doen voor de zekerheid... Ik test overigens op een eigen servertje.

Ook met set_time_limit(0) gaat het nog fout, de execution time is overigens geen punt want die is < 1seconde.

Ik zag overigens dat als ik alle velden leeg laat en submit dat hij dan op een punt stopt waar het genoemde script niet aangeroepen wordt... Dan zou het toch ergens anders aan liggen.

In bovengenoemd geval stopt hij na:
PHP:
1
 <?php if($error[ap_sta] || $error[ap_sta_num]) echo(view_error(array ($error[ap_sta], $error[ap_sta_num])));?> 


waarbij de aangeroepen functie is:
PHP:
1
2
3
4
5
6
7
8
9
     function view_error($errortext)                     // functie definieren om uniforme errormessages te genereren
        { 
        $return = "</tr><tr><td class=\"error\"> </td><td class=\"error\">";
        if ($errortext[0])                      $return = $return."<b> Notice: </b> ".$errortext[0];
        if ($errortext[0] && $errortext[1])     $return = $return."<br />";
        if ($errortext[1])                      $return = $return."<b> Notice: </b> ".$errortext[1];
        $return = $return."</td>";
        return ($return);
        }

Gemberthee: water met een smaakje.


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21:47

Creepy

Tactical Espionage Splatterer

Dima_2005 schreef op dinsdag 17 juni 2008 @ 14:03:
[...]


Grote fout....
...
Je bent zo'n dingen vergeten{} moet je altijd voor if functie gebruiken
Grote fout? Met of zonder {}'s is precies hetzelfde dus er zit geen enkele fout in.
PHP:
1
2
3
4
5
6
7
8
9
10
<?php 
function checked($input1, $input2) 
{ 
    if ($input1 == $input2)
        $return = "CHECKED"; 
    else
        $return = ""; 
    return $return; 
} 
?>

is precies hetzelfde als
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
<?php 
function checked($input1, $input2) 
{ 
    if ($input1 == $input2) {
        $return = "CHECKED"; 
    }
    else {
        $return = ""; 
    }
    return $return; 
} 
?>

Dat de uitlijning die jij en de TS gebruiken niet helemaal helder is in 1 oogopslag is een ander verhaal :P

[ Voor 54% gewijzigd door Creepy op 17-06-2008 14:35 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • Patriot
  • Registratie: December 2004
  • Laatst online: 19:24

Patriot

Fulltime #whatpulsert

anonimoes schreef op dinsdag 17 juni 2008 @ 14:27:
[...]


Oja, die had ik ook al gehad... Heb het toch maar overal even netjes gedaan nu voor de zekerheid.

Het weergeven van alle errors resulteerd in een hoop notices omdat ik als ik een variable uit een array nodig heb dit meestal zo doe: $array[bla] en niet zo: $array['bla']. Verder nog een paar onschuldige notices maar niks ernstigers dan notices... Ik ga bovenstaande nu toch maar even netjes doen voor de zekerheid... Ik test overigens op een eigen servertje.

Ook met set_time_limit(0) gaat het nog fout, de execution time is overigens geen punt want die is < 1seconde.

Ik zag overigens dat als ik alle velden leeg laat en submit dat hij dan op een punt stopt waar het genoemde script niet aangeroepen wordt... Dan zou het toch ergens anders aan liggen.

In bovengenoemd geval stopt hij na:
PHP:
1
 <?php if($error[ap_sta] || $error[ap_sta_num]) echo(view_error(array ($error[ap_sta], $error[ap_sta_num])));?> 


waarbij de aangeroepen functie is:
PHP:
1
2
3
4
5
6
7
8
9
     function view_error($errortext)                     // functie definieren om uniforme errormessages te genereren
        { 
        $return = "</tr><tr><td class=\"error\"> </td><td class=\"error\">";
        if ($errortext[0])                      $return = $return."<b> Notice: </b> ".$errortext[0];
        if ($errortext[0] && $errortext[1])     $return = $return."<br />";
        if ($errortext[1])                      $return = $return."<b> Notice: </b> ".$errortext[1];
        $return = $return."</td>";
        return ($return);
        }
Er zijn meerdere dingen mis met deze scripts, sommige heb je zelf al genoemd en daar hoeven we dus geen woorden meer aan vuil te maken, zo gebruik je volgens mij if($var) om te kijken of hij bestaat. Dat moet je niet doen, je moet daar gewoon isset() voor gebruiken. Vervolgens is het niet echt handig dat je veel dingen doet die wel zo kunnen, maar niet gebruikelijk zijn. Dat maakt het debuggen er niet veel makkelijker op.

Ook is het handiger als je op een goede manier indent. Ik kan natuurlijk niet beoordelen hoe de rest van je code in elkaar zit, maar ik kan me voorstellen dat de fout beter zichtbaar zou zijn bij nettere code.

Een voorbeeld van hoe nette code er (mijns inziens) uit zou moeten zien (of in ieder geval beter is dan wat je nu hebt) is:


PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php

// functie definieren om uniforme errormessages te genereren
function view_error($errortext)
{

    $return = "</tr><tr><td class=\"error\"> </td><td class=\"error\">";
    
    if (isset($errortext[0]))
        $return = $return . "<b> Notice: </b> " . $errortext[0];
        
    if (isset($errortext[0]) && isset($errortext[1]))
        $return = $return . "<br />";
        
    if (isset($errortext[1]))
        $return = $return . "<b> Notice: </b> " . $errortext[1];
        
    $return = $return . "</td>";
    
    return $return;
}

?>


Met het andere stukje code (de controle waar hij volgens jou stopt) is ook niet echt geweldig in elkaar gezet. Je kijkt of minstens één van de twee variabelen bestaat. Het nadeel is dat je vervolgens allebei de variabelen in een array zit, terwijl je niet weet of ze allebei bestaan.

Die notices zijn er niet voor niets! Er is een grote kans dat je script stukken beter werkt als je geen last van notices hebt, ze vertragen de boel alleen maar. Bovendien is het stukken makkelijker debuggen, omdat je zeker weet dat het niet daar aan kunt liggen. Sowieso is het makkelijker om bij het debuggen niet 100 fouten te zien waar je omheen moet lezen.

Acties:
  • 0 Henk 'm!

  • anonimoes
  • Registratie: Maart 2001
  • Laatst online: 11-11-2024

anonimoes

Zomerweer is ook maar relatief

Topicstarter
Patriot schreef op dinsdag 17 juni 2008 @ 15:27:
[...]


Er zijn meerdere dingen mis met deze scripts, sommige heb je zelf al genoemd en daar hoeven we dus geen woorden meer aan vuil te maken, zo gebruik je volgens mij if($var) om te kijken of hij bestaat. Dat moet je niet doen, je moet daar gewoon isset() voor gebruiken. Vervolgens is het niet echt handig dat je veel dingen doet die wel zo kunnen, maar niet gebruikelijk zijn. Dat maakt het debuggen er niet veel makkelijker op.

wat betreft isset: helemaal gelijk, toen ik begon met php deed ik dit eigenlijk altijd netjes maar nu begint deze slordigheid er toch een beetje in te sluipen...

Gebruik van isset: helemaal gelijk, ik heb dit in den beginne altijd gedaan maar langzamerhand sluipen deze slordigheidjes er toch een beetje in merk ik...

Ook is het handiger als je op een goede manier indent. Ik kan natuurlijk niet beoordelen hoe de rest van je code in elkaar zit, maar ik kan me voorstellen dat de fout beter zichtbaar zou zijn bij nettere code.

Een voorbeeld van hoe nette code er (mijns inziens) uit zou moeten zien (of in ieder geval beter is dan wat je nu hebt) is:


PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php

// functie definieren om uniforme errormessages te genereren
function view_error($errortext)
{

    $return = "</tr><tr><td class=\"error\"> </td><td class=\"error\">";
    
    if (isset($errortext[0]))
        $return = $return . "<b> Notice: </b> " . $errortext[0];
        
    if (isset($errortext[0]) && isset($errortext[1]))
        $return = $return . "<br />";
        
    if (isset($errortext[1]))
        $return = $return . "<b> Notice: </b> " . $errortext[1];
        
    $return = $return . "</td>";
    
    return $return;
}

?>


Met het andere stukje code (de controle waar hij volgens jou stopt) is ook niet echt geweldig in elkaar gezet. Je kijkt of minstens één van de twee variabelen bestaat. Het nadeel is dat je vervolgens allebei de variabelen in een array zit, terwijl je niet weet of ze allebei bestaan.

Die notices zijn er niet voor niets! Er is een grote kans dat je script stukken beter werkt als je geen last van notices hebt, ze vertragen de boel alleen maar. Bovendien is het stukken makkelijker debuggen, omdat je zeker weet dat het niet daar aan kunt liggen. Sowieso is het makkelijker om bij het debuggen niet 100 fouten te zien waar je omheen moet lezen.
Ware woorden naar mijn idee, debuggen met een hoop notices is inderdaad niet handig :+
Mijn indents zijn over het algemeen, al zeg ik het zelf, best redelijk en soms verlies ik mij wel eens in te kleine details wat dat betreft. Dat ik de uitkomst van een if constructie er meteen achter zet als het maar één regel is vind ik dan ook niet onoverzichtelijk, zodra het meer dan één regel wordt komen ze netjes in een indent te staan. Het is niet helemaal hoe het hoort, dat dan weer wel natuurlijk.

Dat notices de boel vertragen daar had ik nog niet bij stilgestaan, alhoewel dit waarschijnlijk maar een relatief klein effect is vind ik het toch een goed argument, beter schone code!

Kortom: Ik zal eerst eens van de notices af zien te komen en dan kom ik weer terug. (Hopelijk zonder probleem natuurlijk ;))

[ Voor 5% gewijzigd door anonimoes op 18-06-2008 00:06 ]

Gemberthee: water met een smaakje.


Acties:
  • 0 Henk 'm!

  • anonimoes
  • Registratie: Maart 2001
  • Laatst online: 11-11-2024

anonimoes

Zomerweer is ook maar relatief

Topicstarter
De code is opgeschoond, ik krijg nu alleen nog de volgende notices: undifined variable en undifined index. Is het de bedoeling dat ik dan ook elke var en var in array ga definieren? Ik dacht juist dat het niet meer hoeven definieren van variabelen een grote verworvenheid was van veel programmeertalen na basic en consorten... Of ligt dit probleem elders?

Ik kan nu het probleem niet meer reproduceren als ik slechts één veld niet invul dus dat is alvast mooi! Het probleem blijft echter wel bestaan bij het niet invullen van veel of alle velden. Ik vind het wel erg vreemd gedrag om er zonder zelfs een notice uit te knallen...

De pagina waar het overigens over gaat is deze: http://sel.demon.nl/wedstrijdsite/registration.php5

[ Voor 0% gewijzigd door anonimoes op 18-06-2008 01:23 . Reden: Oeps, de volgende keer dat ik zo snel op elkaar post kan ik beter de edit knop gebruiken... ]

Gemberthee: water met een smaakje.


Acties:
  • 0 Henk 'm!

  • iH8
  • Registratie: December 2001
  • Laatst online: 17-06-2024

iH8

Creepy schreef op dinsdag 17 juni 2008 @ 14:31:

Grote fout? Met of zonder {}'s is precies hetzelfde dus er zit geen enkele fout in.
idd hij kan nog anders / korter / netter / minder omslachtig


PHP:
1
2
3
4
5
6
<?php 
function checked($input1, $input2) 
{ 
    return $output = ($input1 == $input2) ? 'CHECKED' : '' ;
} 
?>


scheelt toch alweer 5 lines :) 't is maar net waar je van houdt
Patriot schreef op dinsdag 17 juni 2008 @ 15:27:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php

// functie definieren om uniforme errormessages te genereren
function view_error($errortext)
{

    $return = "</tr><tr><td class=\"error\"> </td><td class=\"error\">";
    
    if (isset($errortext[0]))
        $return = $return . "<b> Notice: </b> " . $errortext[0];
        
    if (isset($errortext[0]) && isset($errortext[1]))
        $return = $return . "<br />";
        
    if (isset($errortext[1]))
        $return = $return . "<b> Notice: </b> " . $errortext[1];
        
    $return = $return . "</td>";
    
    return $return;
}

?>
die view_error kan ook een stuk netter:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php

function view_error($errortext)
{
    $output = '</tr><tr><td class="error"></td><td class="error">';
    
    foreach ($errortext as $e)
    {
        $output .= '<b> Notice: </b>' . $e;
        
        $output .= (next($errortext)) ? '<br />' : '</td>';
    }

    return $output;
}

?>


beter zo dacht ik én je hoeft je functie niet aan te passen mocht je array groter worden ;)

[ Voor 67% gewijzigd door iH8 op 18-06-2008 03:42 . Reden: can't sleep :) ]

Aunt bunny is coming to get me!


Acties:
  • 0 Henk 'm!

  • WoRsTeNBoY
  • Registratie: Januari 2005
  • Laatst online: 21-01-2024
je krijgt overal foutmeldingen in de vorm van: "Notice: Undefined index: payment in /srv/www/htdocs/wedstrijdsite/registration.php5 on line 484"

de fout zegt het zelf, ga eens kijken op lijn 484
je gebruikt daar zeer waarschijnlijk iets in de aard van
PHP:
1
$array_naam[payment];

je zou
PHP:
1
$array_naam['payment'];
kunnen proberen,

ook een
PHP:
1
print_r($array_naam);
geeft inzicht over de juiste key namen

Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Deze meldingen zijn altijd eenvoudig zelf te debuggen en bovendien kan je er heel veel voorkomen als je gewoon de moeite nam om in een 5 minuten PHP tutorial te leren dat strings tussen quotes opgeschreven worden. :z

{signature}


Acties:
  • 0 Henk 'm!

  • anonimoes
  • Registratie: Maart 2001
  • Laatst online: 11-11-2024

anonimoes

Zomerweer is ook maar relatief

Topicstarter
@IH8: Thanks! Dat je php syntax en if constructies ook zo kon gebruiken wist ik nog niet. Is inderdaad een stuk handiger op deze manier.
WoRsTeNBoY schreef op woensdag 18 juni 2008 @ 08:24:
je krijgt overal foutmeldingen in de vorm van: "Notice: Undefined index: payment in /srv/www/htdocs/wedstrijdsite/registration.php5 on line 484"

de fout zegt het zelf, ga eens kijken op lijn 484
je gebruikt daar zeer waarschijnlijk iets in de aard van
PHP:
1
$array_naam[payment];

je zou
PHP:
1
$array_naam['payment'];
kunnen proberen,

ook een
PHP:
1
print_r($array_naam);
geeft inzicht over de juiste key namen
Laat dat nu net niet meer het geval zijn, ik heb alle indexes voorzien van apostrofs, bijvoorbeeld de error bovenaan de pagina:
code:
1
 Notice: Undefined index: fase in /srv/www/htdocs/wedstrijdsite/registration.php5 on line 41

Komt van deze regel:
PHP:
1
if ($_REQUEST['fase'] == "1")


@Voutloos: Bedoel jij hetzelfde te zeggen als Worstenboy of bedoel je iets anders? (Aangezien een index mi geen string is?)

Gemberthee: water met een smaakje.


Acties:
  • 0 Henk 'm!

  • WoRsTeNBoY
  • Registratie: Januari 2005
  • Laatst online: 21-01-2024
geeft een print_r($_REQUEST); een value of op zen minst een key genaamd fase terug ?

het is een notice, checken op een niet bestaande index is een methode die ik ook gebruik eigenlijk zou je eerst moeten kijken of de index bestaat.
PHP:
1
if(isset($_REQUEST['fase']) && $_REQUEST['fase'] == 1)

zou deze notice verhelpen

echter is dit niet waarop het script stopt,

kan je eventueel het volledige script uploaden? ik wil er gerust even naar kijken

Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
anonimoes schreef op woensdag 18 juni 2008 @ 10:14:
@Voutloos: Bedoel jij hetzelfde te zeggen als Worstenboy of bedoel je iets anders? (Aangezien een index mi geen string is?)
Een associatieve key is dus wél een string.

{signature}


Acties:
  • 0 Henk 'm!

  • !null
  • Registratie: Maart 2008
  • Laatst online: 20-09 20:32
Niet echt tijd om inhoudelijk te reageren, maar zet bovenaan even:

error_reporting( E_ALL );

(en haal het nooit meer weg :P )

Ampera-e (60kWh) -> (66kWh)


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21:47

Creepy

Tactical Espionage Splatterer

offtopic:
Neem anders gewoon de moeite om wel inhoudelijk te reageren en daarvoor ook daadwerkelijk even te lezen want error_reportting(E_ALL) is toch al genoemd ;)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • anonimoes
  • Registratie: Maart 2001
  • Laatst online: 11-11-2024

anonimoes

Zomerweer is ook maar relatief

Topicstarter
Nee, de index 'fase' bestaat inderdaad niet, de notice is dan ook "terecht".

Hieronder het hele script, in drie delen omdat het niet in één of twee posts past:
*snip*
Rest volgt hieronder

[ Voor 99% gewijzigd door Creepy op 18-06-2008 11:48 ]

Gemberthee: water met een smaakje.


Acties:
  • 0 Henk 'm!

  • anonimoes
  • Registratie: Maart 2001
  • Laatst online: 11-11-2024

anonimoes

Zomerweer is ook maar relatief

Topicstarter
*snip*
rest volgt:

[ Voor 99% gewijzigd door Creepy op 18-06-2008 11:48 ]

Gemberthee: water met een smaakje.


Acties:
  • 0 Henk 'm!

  • anonimoes
  • Registratie: Maart 2001
  • Laatst online: 11-11-2024

anonimoes

Zomerweer is ook maar relatief

Topicstarter
*snip*

Gedeeltes van de uitlijning gaan helaas verloren maar over het algemeen is het redelijk leesbaar geloof ik. Een aantal zaken kan wellicht een stuk efficienter (bijvoorbeeld het overzetten van $_REQUEST naar $_SESSION dmv een foreach loop), alhoewel ik zeker niet te beroerd ben om op tips wat dat betreft in te gaan ligt mijn prioriteit toch wel bij het oplossen van het probleem dat ik heb met maar half weergegeven pagina's...
Worstenboy: Bij voorbaat dank dat je naar het hele script wilt kijken!

In de tussentijd ga ik onder het mom van "best practice code" toch maar alle notices nog wegwerken.

[ Voor 95% gewijzigd door Creepy op 18-06-2008 11:48 ]

Gemberthee: water met een smaakje.


Acties:
  • 0 Henk 'm!

  • anonimoes
  • Registratie: Maart 2001
  • Laatst online: 11-11-2024

anonimoes

Zomerweer is ook maar relatief

Topicstarter
Voutloos schreef op woensdag 18 juni 2008 @ 10:43:
[...]
Een associatieve key is dus wél een string.
Oke, my bad. Dan bedoelde je dus inderdaad hetzelfde en is dit punt inmiddels verholpen.

Gemberthee: water met een smaakje.


Acties:
  • 0 Henk 'm!

  • !null
  • Registratie: Maart 2008
  • Laatst online: 20-09 20:32
Creepy schreef op woensdag 18 juni 2008 @ 11:02:
offtopic:
Neem anders gewoon de moeite om wel inhoudelijk te reageren en daarvoor ook daadwerkelijk even te lezen want error_reportting(E_ALL) is toch al genoemd ;)
offtopic:
Sorry niet gezien :s
Ik keek alleen naar de PHP voorbeelden, veel te snel gekeken.

Ampera-e (60kWh) -> (66kWh)


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21:47

Creepy

Tactical Espionage Splatterer

Ok, werk de notices weg en sla aan het debuggen. Als je vervolgens nog steeds problemen hebt dan kan je een nieuw topic openen. Let daarbij aub op Programming Beleid - De Quickstart. Post ook niet je gehele script maar alleen de relevante code of een los stukje testcode waarin je probleem te reproduceren is. Doordat je nu maar je gehele code dumpt lijkt het erop als je ons aan het debuggen wilt laten gaan terwijl dat toch echt jouw verantwoorlijkheid is :)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1

Dit topic is gesloten.