[TYPO3-project-formidable] Message after data have been saved in the DB

Izzie Greys izzie.greys at gmail.com
Tue Jul 29 17:32:35 CEST 2008


Hi Luc,

Thanks for your response :)  Your method (use of unset) was the first I
tried and it didn't work that's why I use the strange one with the variable
"display".

I tried again with your code and it still doesn't work.The problem is the
unset. If I delete it, it works. The message is displayed, but for ever ^^ I
have the impression that the variable $sMessage is still linked to the
$_SESSION["etat"]. Is it possible ? I don't know how to solve this problem.

Regards

2008/7/29 Luc Muller <l.mul-nospam-ler at ameos.com>

> Why don't you do this :
>
> <renderlet:BOX mode="h4">
>  <html>
>     <userobj>
>          <php><![CDATA[/*<?*/
>
>                 if($_SESSION["etat"] != ""){
>                $sMessage = $_SESSION["etat"];
>                unset($_SESSION["etat"]);
>                return $sMessage;
>                }
>                return false;
>
>
>          /*?>*/]]></php>
>      </userobj>
>   </html>
> </renderlet:BOX>
>
> Hope this helps
>
> Luc =:0)
>
> Izzie Greys a écrit :
> > Hello,
> >
> > I'm still working on my messages. I think sessions could be great but I'm
> > blocked.
> > When the form is submit I save a variable in session and when I come back
> to
> > the lister I display this variable.
> > The problem is that the variable is always display after that. So  I try
> > this :
> >
> > The Box at the top of my lister which display my message or not :
> > <renderlet:BOX mode="h4">
> >   <html>
> >      <userobj>
> >           <php><![CDATA[/*<?*/
> >                if ($_SESSION["display"]=="true"){
> >                       $_SESSION["display"] = "false";
> >                       return $_SESSION["etat"];
> >                }
> >           /*?>*/]]></php>
> >       </userobj>
> >    </html>
> > </renderlet:BOX>
> >
> > And what I have done in <beforeinsertion> of my edit/create form:
> > <beforeInsertion>
> >       <userobj>
> >             <php><![CDATA[/*<?*/
> >
> >                      ...
> >
> >                     if($this->oDataHandler->_creation()) {
> >                           $_SESSION["etat"] = "user created";
> >                     }
> >                     else{
> >                           $_SESSION["etat"] = "user edited";
> >                     }
> >                     $_SESSION["display"] = "true";
> >
> >                     ...
> >
> >                /*?>*/]]></php>
> >        </userobj>
> > </beforeInsertion>
> >
> > My problem is when I add this line $_SESSION["display"] = "false" in the
> > "if" condition of my BOX the message is never display even after the
> > $_SESSION["display"] = "true" in <beforeinsertion>. I really don't
> > understand why ?? And if I delete the line $_SESSION["display"] = "false"
> > the message is always display....
> >
> > Do you understand my problem ? If someone have a clue for this I would be
> > grateful because I spent so much time on this problem I'm going to be
> crazy
> > :)
> >
> > Bye
> >
> > 2008/7/11 Izzie Greys <izzie.greys at gmail.com>
> >
> >
> >> It's just that I thought it would be easier to have the message and go
> >> automatically on the list page after the click of the javascript alert.
> >>
> >> But it seems I can't do that kind of thing so I will try to do your
> method.
> >>
> >> Many thanks for your help Luc :)
> >>
> >> 2008/7/11 Luc Muller <l.mul-nospam-ler at ameos.com>:
> >>
> >>
> >>> hmmm... that's a strange way to make such a thing.
> >>>
> >>> for your error, it's normal that you have a php error, as you"re
> writing
> >>> some code in the page it cannot process the redirection
> >>>
> >>> but, the point that I do not understand is why do you use a javascript
> >>> message ?
> >>> if you're redirecting to say that data is saved is to redirect to a
> page
> >>> where belongs a message that say the data are saved.
> >>>
> >>> there you can place a link back to the  list
> >>>
> >>> Luc
> >>> Izzie Greys a écrit :
> >>>
> >>>> Hi Luc,
> >>>>
> >>>> Thanks to you I solved my first problem :) Now if data are wrong I'm
> >>>>
> >> not
> >>
> >>>> redirected to the list. Thank you very much, it works fine.
> >>>>
> >>>> However I still have the second problem. I used this code in the php
> >>>>
> >>> section
> >>>
> >>>> :
> >>>>
> >>>> echo( "<script language=\"javascript\">alert(\"Data
> saved\");</script>"
> >>>>
> >>> );
> >>>
> >>>> It's ok the message is shown if data are good, but I have the
> >>>>
> >> javascript
> >>
> >>>> message, an error on the page and nothing else. I don't go back to the
> >>>>
> >>> list.
> >>>
> >>>> The error is :
> >>>>
> >>>> *"Warning*: Cannot modify header information - headers already sent by
> >>>> (output started at
> >>>>
> >>>>
> >>
> C:\wamp\www\typo3conf\ext\ameos_formidable\api\class.tx_ameosformidable.php(4986)
> >>
> >>>> : eval()'d code:4)
> >>>>
> >>>>
> >>
> in*C:\wamp\www\typo3conf\ext\ameos_formidable\api\base\act_redct\api\class.tx_actredct.php
> >>
> >>>> * on line *44*
> >>>>
> >>>> I think it's because the code is not inserted in my main page but I
> >>>>
> >> don't
> >>
> >>>> know how to solve the problem.
> >>>>
> >>>> Have you any idea ?
> >>>>
> >>>> Thanks again
> >>>>
> >>>> Regards
> >>>>
> >>>> Izzie
> >>>>
> >>>>
> >>>> 2008/7/9 Luc Muller <l.mul-nospam-ler at ameos.com>:
> >>>>
> >>>>
> >>>>
> >>>>> Hi Izzie
> >>>>>
> >>>>> You should have a look at actionlets
> >>>>>
> >>>>> those should be placed inside the <control> tag
> >>>>>
> >>>>> <actionlets> are process at the end of all the process this means
> >>>>>
> >> after
> >>
> >>>>> data are inserted in the DB
> >>>>>
> >>>>> you can either use :
> >>>>> <actionlets>
> >>>>>            <actionlet:USEROBJ>
> >>>>>                <userobj>
> >>>>>                    <php><![CDATA[/*<?php*/
> >>>>>                         //here you can paste so code to do stuff
> after
> >>>>> datas are inserted in DB
> >>>>>                         // you can retrieve stored data using :
> >>>>>                         $aData =
> $this->oDataHandler->getStoredData();
> >>>>>
> >>>>>                         return false;
> >>>>>
> >>>>>                    /*?>*/]]></php>
> >>>>>                </userobj>
> >>>>>            </actionlet:USEROBJ>
> >>>>>            <actionlet:REDIRECT>
> >>>>>                <pageid>
> >>>>>                   here you can input directly a page id OR
> >>>>>                   <userobj>
> >>>>>                        <php><![CDATA[/*<?php*/
> >>>>>                            // you can use an userobj to redirect to a
> >>>>> more advanced url.
> >>>>>                            return $this->cObj->typolink_URL(
> >>>>>                                array(
> >>>>>                                    "parameter" => 1,
> >>>>>                                    "additionalParams" => "",
> >>>>>                                    "returnLast" => "url",
> >>>>>                                    "useCacheHash" => "1",
> >>>>>                                )
> >>>>>                            );
> >>>>>
> >>>>>                        /*?>*/]]></php>
> >>>>>                    </userobj>
> >>>>>                </pageid>
> >>>>>            </actionlet:REDIRECT>
> >>>>>        </actionlets>
> >>>>>
> >>>>> Hope this helps
> >>>>>
> >>>>> Luc =:0)
> >>>>>
> >>>>> Izzie Greys a écrit :
> >>>>>
> >>>>>
> >>>>>>  <typo3-project-formidable at lists.netfielders.de>Hey,
> >>>>>>
> >>>>>> I'm trying to use a submit button on my edit/create users form with
> a
> >>>>>> message "User saved" if the data are ok before return to my users
> >>>>>>
> >> list.
> >>
> >>>>> Here
> >>>>>
> >>>>>
> >>>>>> it's what I have done :
> >>>>>>
> >>>>>> <renderlet:SUBMIT name="btn-save" label="Save">
> >>>>>>      <onclick runat="server">
> >>>>>>           <userobj>
> >>>>>>                 <php><![CDATA[/*<?php*/
> >>>>>>                         $sLink = $this->cObj->typolink_URL(
> >>>>>>                          array(
> >>>>>>                                "parameter" => 51,
> >>>>>>                                "returnLast" => "url",
> >>>>>>                                "useCacheHash" => "1",
> >>>>>>                              )
> >>>>>>                          );
> >>>>>>                         return
> >>>>>>
> >>>>>>
> >>>>> $this->sendToPage($this->toWebPath($sLink));
> >>>>>
> >>>>>
> >>>>>>                         /*?>*/]]>
> >>>>>>                  </php>
> >>>>>>          </userobj>
> >>>>>>     </onclick>
> >>>>>> </renderlet:SUBMIT>
> >>>>>>
> >>>>>> I have 2 problems :
> >>>>>> 1 - If the data are wrong, I can't see the error messages (from the
> >>>>>> validators) because of the redirection.
> >>>>>> 2 - I don't know how to add a message "User saved". I know how to
> >>>>>>
> >> make
> >>
> >>> a
> >>>
> >>>>>> confirm message yes/no after the click but not just an information
> >>>>>>
> >>>>>>
> >>>>> message
> >>>>>
> >>>>>
> >>>>>> about the good insertion in the database.
> >>>>>>
> >>>>>> Can you help me ?
> >>>>>>
> >>>>>> Thanks in advance.
> >>>>>>
> >>>>>> Best regards.
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>> --
> >>>>>
> >>>>> *Luc Muller*
> >>>>> /Web Developper/
> >>>>> /Formidable - Rapid Application Developpement Framework for Typo3
> >>>>> <http://formidable.typo3.ug>/
> >>>>> /Typo3 Ameos <http://www.ameos.com>/
> >>>>>
> >>>>> _______________________________________________
> >>>>> TYPO3-project-formidable mailing list
> >>>>> TYPO3-project-formidable at lists.netfielders.de
> >>>>>
> >>>>>
> >>>>>
> >>
> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-project-formidable
> >>
> >>>>>
> >>> --
> >>>
> >>> *Luc Muller*
> >>> /Web Developper/
> >>> /Formidable - Rapid Application Developpement Framework for Typo3
> >>> <http://formidable.typo3.ug>/
> >>> /Typo3 Ameos <http://www.ameos.com>/
> >>>
> >>> _______________________________________________
> >>> TYPO3-project-formidable mailing list
> >>> TYPO3-project-formidable at lists.netfielders.de
> >>>
> >>>
> >>>
> >>
> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-project-formidable
> >>
> >> _______________________________________________
> >> TYPO3-project-formidable mailing list
> >> TYPO3-project-formidable at lists.netfielders.de
> >>
> >>
> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-project-formidable
> >>
> >>
>
>
> --
>
> *Luc Muller*
> /Web Developper/
> /Formidable - Rapid Application Developpement Framework for Typo3
> <http://formidable.typo3.ug>/
> /Typo3 Ameos <http://www.ameos.com>/
> _______________________________________________
> TYPO3-project-formidable mailing list
> TYPO3-project-formidable at lists.netfielders.de
>
> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-project-formidable
>


More information about the TYPO3-project-formidable mailing list