I think I really don't understand what do you want... hehehe :) which is fine!
but take that code I sent ya... now I'll explain the functions... then tell me if I'm right: function ShowHeader { ?> <html> <title>Something</title> <body> <? } function ShowFooter() { ?> </body> </html> <? } function ShowForm() { global $SCRIPT_NAME: ?> <form ... bla bla bla action="<?=$SCRIPT_NAME?>"> <input type=hidden name=action value="process-form"> <? } function ProcessForm() { if( !ValidateFormFields() ) return false; else { if( !ExecuteDBInsert() ) return false; else return true; } } wouldn't that work? there's no $done variable here... the return of the function is all you need... if it's true redirect, if not display error... At 19:03 25/11/01 +0100, Daniel Alsén wrote: >Hmm...either i don´t really get what you mean, or you missed the problem. > >This is the situation: > >I have a form which results is to be inserted in a db. When the form is >submitted the page calls itself and does a db INSERT based on if a couple of >statements is true - otherwise it displays a proper error message. > >So far everything is fine and is working like a charm. >But: > >I want a redirection after a successfull db INSERT. After the INSERT is made >(which is what the page is for) i set a variable, $done, to 1. >Right now i only use $done to display a message at the bottom of the screen >saying that the INSERT worked. But i want the page to redirect itself as >soon as $done is set to 1. > >The problem i have is: I can only send headers (wich i use for redirection - >right??) at the top of the page - before all the other code. But since $done >is set far down in the code, after my form and db-statements, the header >will never know when to be sent. > >Is there a way of calling a headerfunction in the top of the page? > >- Daniel > > > -----Original Message----- > > From: Christian Dechery [mailto:[EMAIL PROTECTED]] > > Sent: den 25 november 2001 18:41 > > To: Daniel Alsén; PHP; Miles Thompson > > Subject: RE: [PHP] Redirect upon execution of script... > > > > > > sorry if I'm not understanding correctly your problem... but it > > seems quite > > simple to me... > > I've created like 10.000 php forms that does that... I don't see a prob... > > > > what do you want to do? > > > > process a form: > > if something's wrong, print error message and go back > > if everything is fine go to another page... that's it? > > > > well... database inserts has nothing to do with headers... > > > > you can easily do something like > > > > <?php > > switch ($action) > > { > > case "process-form": if( ProcessForm() ) > > header("Location: > > next-page.php"); > > else > > { > > ShowHeader(); // function to > > display all the HTML you want > > printErrMessage(); > > ShowFooter(); > > } > > break; > > default: ShowForm(); > > break; > > } > > ?> > > > > where ProcessForm returns true or false depending on the DB operation... > > > > of course there cannot be any output before the switch? > > > > did it help? > > > > At 18:24 25/11/01 +0100, Daniel Alsén wrote: > > > > 2. User fills in a form, clicks "submit" which calls the same script, > > > > passing itself the values. Depending on the value passed by the submit > > > > button, the script processes the information (INSERT or > > UPDATE) and sets > > > > $done = 1 if successful. > > > > > > > > The second scenario is easier to handle. > > > > Call the same script, passing it $done, and depending on > > whether or not > > > > $done is set you redirect. > > > > > > > > Juli Meloni has done an excellent tutorial on just this at > > > > http://www.thickbook.com. look in the tutorials for something > > like "Form > > > > With Error Message". You just have to adapt the logic to suit > > your needs. > > > > > >The second scenario is correct. I am actually already using the method in > > >Melonis tutorial for error messages. But i can´t do a > > redirection that way > > >since $done isn´t set until after the db INSERT. My if-statement for the > > >header is at the top of the page (wich is the only place i can > > put it) and > > >will never know if $done is set or not below. > > > > > >- Daniel > > > > > > > > >-- > > >PHP General Mailing List (http://www.php.net/) > > >To unsubscribe, e-mail: [EMAIL PROTECTED] > > >For additional commands, e-mail: [EMAIL PROTECTED] > > >To contact the list administrators, e-mail: [EMAIL PROTECTED] > > > > > > _____________________________ > > . Christian Dechery > > . . Gaita-L Owner / Web Developer > > . . http://www.webstyle.com.br > > . . http://www.tanamesa.com.br > > _____________________________ . Christian Dechery . . Gaita-L Owner / Web Developer . . http://www.webstyle.com.br . . http://www.tanamesa.com.br -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]