Brauchen Dringend Hilfe!

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Brauchen Dringend Hilfe!

    Hallo@ALL,

    wir haben da ein kleines Problem und kommen nicht weiter!
    Wir haben ein Script in dem man nur Punkt als Trennzeichen verwenden kann.
    Nun haben wir diese Methode probiert:
    Wir wollten das Komma in Punkt verwandeln - klappt auch mit
    PHP-Code:
    $text str_replace(",","."$text); 
    !

    Nur haben wir das Problem - wir geben z.B. die Zahl 1,67 ein - umgewandelt steht dann nur noch 1.00???
    Warum werden die Zahlen hinter dem Komma als 00 umgeschrieben?

    Hier mal der Code unverändert aus der FormValidator.class
    PHP-Code:
    // check whether input is a number
        
    function isNumber($field$msg)
        {
            
    $value $this->_getValue($field);
            if(!
    is_numeric($value))
            {
                
    $this->_errorList[] = array("field" => $field"value" => $value"msg" => $msg);
                return 
    false;
            }
            else
            {
                return 
    true;
            }
        } 
    Und hier der Code nach unserer Änderung:
    PHP-Code:
    // check whether input is a number
        
    function isNumber($field$msg)
        {
            
    $value $this->_getValue($field);
            
    $value str_replace(",","."$value);
            if(
    is_numeric($value))
            {
                return 
    true;
            }
            else
            {
                
    $this->_errorList[] = array("field" => $field"value" => $value"msg" => $msg);
                return 
    false;
            }
        } 
    Währe ganz dringend - würden uns freuen wenn da jemand eine Lösung/Tipp parat hat - kommen sonnst leider nicht weiter!



    Mario
    Zuletzt geändert von Nibbelkatscher; 18.12.2006, 14:16.

  • #2
    Die Funktion prüft doch nur, ob der Feldinhalt eine Nummer ist, und gibt entsprechend nur true oder false (oder in Nummern 1 oder 0) wieder. Der replace muss an anderer Stelle erfolgen (nämlich da, wo die Nummer tatsächlich ausgegeben wird).

    Kommentar


    • #3
      Ohhh

      Danke für den Hinweis!!
      Wir haben jetzt die Stelle gefunden - jeoch weis ich nicht wie ich den replace da intigrieren soll?

      Code:
      PHP-Code:
      echo "  <input type=\"hidden\" name=\"startprice\" value=\"".$_REQUEST['startprice']."\">    \n"

      Mario

      Kommentar


      • #4
        PHP-Code:
        $testvar str_replace(",",".",$_REQUEST['startprice']);
        echo 
        "  <input type=\"hidden\" name=\"startprice\" value=\"".$testvar."\">    \n"
        it's not a bug,
        it's a feature!

        Kommentar


        • #5
          !!

          Ich glaubs nicht - ES GEHT!!!!!!!!
          Danke dir!!

          Kommentar


          • #6
            !!

            Eine Frage noch,

            wenn ich diesen Replace mehrmals im Code verwenden möchte - wie muss ich das dann bei den anderen Zeilen lösen - geht ja dann sicher nicht mit dem selben
            PHP-Code:
            $testvar 
            ?
            Also um das mal etwas genauer auszudrücken:
            ich muss das in dem Code mehrmals für verschiedene Zahleneingaben verändern (c.a. 5 mal)

            Kommentar


            • #7
              PHP-Code:
              $testvar str_replace("ä""&auml;"$testvar);
              $testvar str_replace("ö""&ouml;"$testvar);
              $testvar str_replace("ü""&uuml;"$testvar); 
              z.B. um Umlaute in HTML umzuformen.
              Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

              Kommentar


              • #8
                !!

                Ja das kenn ich!!
                Ich meinte aber etwas anderes!
                Diesen Code:

                PHP-Code:
                echo "  <input type=\"hidden\" name=\"startprice\" value=\"".$_REQUEST['startprice']."\">    \n"
                in diesen:
                PHP-Code:
                $testvar str_replace(",",".",$_REQUEST['startprice']);
                echo 
                "  <input type=\"hidden\" name=\"startprice\" value=\"".$testvar."\">    \n"
                das hat geklappt - nun wird das Komma gegen Punkt ersetzt!
                Das selbe muss ich jetzt mit noch weiteren Codes mach.
                Ich wollte nur wissen wie ich das weiter ausführe?
                Also der ganze Code schaut so aus(mit oben genannten Replace):
                PHP-Code:
                echo "<form action=\"sellitem.php\" method=\"post\" enctype=\"multipart/form-data\" name=\"sistep1\">\n";
                      echo 
                "    <input type=\"hidden\" name=\"relist_similar\" value=\"".$_REQUEST['relist_similar']."\">\n";
                    echo 
                "    <input type=\"hidden\" name=\"main_category\" value=\"".$crw1['id']."\"> \n";
                      echo 
                "    <input type=\"hidden\" name=\"category\" value=\"".$_REQUEST['category']."\">        \n";
                    echo 
                "     <input type=\"hidden\" name=\"name\" value=\"".$_REQUEST['name']."\">                \n";
                      echo 
                "    <input type=\"hidden\" name=\"description\" value=\"".$_REQUEST['description']."\">    \n";
                      echo 
                "  <input type=\"hidden\" name=\"mainpic\" value=\"".$_REQUEST['mainpic']."\">            \n"
                      echo 
                "  <input type=\"hidden\" name=\"quantity\" value=\"".$_REQUEST['quantity']."\">        \n"
                      echo 
                "  <input type=\"hidden\" name=\"auctiontype\" value=\"".$_REQUEST['auctiontype']."\">    \n"
                  
                $testvar str_replace(",",".",$_REQUEST['startprice']);
                echo 
                "  <input type=\"hidden\" name=\"startprice\" value=\"".$testvar."\">    \n";
                      echo 
                "  <input type=\"hidden\" name=\"respr\" value=\"".$_REQUEST['respr']."\">                \n";                
                      echo 
                "  <input type=\"hidden\" name=\"resprice\" value=\"".$_REQUEST['resprice']."\">        \n"
                      echo 
                "  <input type=\"hidden\" name=\"buynow\" value=\"".$_REQUEST['buynow']."\">            \n"
                      echo 
                "  <input type=\"hidden\" name=\"bnprice\" value=\"".$_REQUEST['bnprice']."\">            \n"
                      echo 
                "  <input type=\"hidden\" name=\"bidinc\" value=\"".$_REQUEST['bidinc']."\">             \n";
                      echo 
                "  <input type=\"hidden\" name=\"bidincvalue\" value=\"".$_REQUEST['bidincvalue']."\">    \n"
                      echo 
                "  <input type=\"hidden\" name=\"duration\" value=\"".$_REQUEST['duration']."\">        \n"
                      echo 
                "  <input type=\"hidden\" name=\"country\" value=\"".$_REQUEST['country']."\">         \n";
                      echo 
                "    <input type=\"hidden\" name=\"zip\" value=\"".$_REQUEST['zip']."\">                 \n";
                      echo 
                "  <input type=\"hidden\" name=\"currency\" value=\"".$_REQUEST['currency']."\">        \n"
                      echo 
                "  <input type=\"hidden\" name=\"privateauct\" value=\"".$_REQUEST['privateauct']."\">    \n"
                      echo 
                "  <input type=\"hidden\" name=\"shipcond\" value=\"".$_REQUEST['shipcond']."\">        \n";
                      echo 
                "  <input type=\"hidden\" name=\"shipint\" value=\"".$_REQUEST['shipint']."\">            \n";
                      echo 
                "  <input type=\"hidden\" name=\"pm\" value=\"".$_REQUEST['pm']."\">                    \n";
                      echo 
                "  <input type=\"hidden\" name=\"hpfeat_desc\" value=\"".$_REQUEST['hpfeat_desc']."\">    \n";
                      echo 
                "  <input type=\"hidden\" name=\"postage_costs\" value=\"".$_REQUEST['postage_costs']."\">\n";
                      echo 
                "  <input type=\"hidden\" name=\"insurance\" value=\"".$_REQUEST['insurance']."\">        \n";
                      echo 
                "  <input type=\"hidden\" name=\"shipping_details\" value=\"".remSpecialChars($_REQUEST['shipping_details'])."\">\n";
                      echo 
                "  <input type=\"hidden\" name=\"type_service\" value=\"".$_REQUEST['type_service']."\">\n";
                      echo 
                "  <input type=\"hidden\" name=\"isswap\" value=\"".$_REQUEST['isswap']."\">            \n";
                      echo 
                "  <input type=\"hidden\" name=\"addlcategory\" value=\"".$_REQUEST['addlcategory']."\">\n"
                      echo 
                "    <input type=\"hidden\" name=\"starttime\" value=\"".$_REQUEST['starttime']."\">        \n";
                      echo 
                "    <input type=\"hidden\" name=\"dmonth\" value=\"".$_REQUEST['dmonth']."\">\n";
                      echo 
                "    <input type=\"hidden\" name=\"ddate\" value=\"".$_REQUEST['ddate']."\">    \n";
                      echo 
                "    <input type=\"hidden\" name=\"dyear\" value=\"".$_REQUEST['dyear']."\">    \n";
                      echo 
                "    <input type=\"hidden\" name=\"shour\" value=\"".$_REQUEST['shour']."\">                \n";
                      echo 
                "    <input type=\"hidden\" name=\"sminute\" value=\"".$_REQUEST['sminute']."\">            \n";

                      echo 
                "    <input type=\"hidden\" name=\"endtime\" value=\"".$_REQUEST['endtime']."\">        \n";
                      echo 
                "    <input type=\"hidden\" name=\"edmonth\" value=\"".$_REQUEST['edmonth']."\">\n";
                      echo 
                "    <input type=\"hidden\" name=\"eddate\" value=\"".$_REQUEST['eddate']."\">    \n";
                      echo 
                "    <input type=\"hidden\" name=\"edyear\" value=\"".$_REQUEST['edyear']."\">    \n";
                      echo 
                "    <input type=\"hidden\" name=\"eshour\" value=\"".$_REQUEST['eshour']."\">                \n";
                      echo 
                "    <input type=\"hidden\" name=\"esminute\" value=\"".$_REQUEST['esminute']."\">            \n";

                      echo 
                "    <input type=\"hidden\" name=\"auto_relist\" value=\"".$_REQUEST['auto_relist']."\">    \n";
                      echo 
                "    <input type=\"hidden\" name=\"auto_relist_bids\" value=\"".$_REQUEST['auto_relist_bids']."\">\n";

                      echo 
                "    <input type=\"hidden\" name=\"auto_relist_nb\" value=\"".(($_REQUEST['auto_relist_nb_tmp']>0) ? $_REQUEST['auto_relist_nb_tmp'] : $_REQUEST['auto_relist_nb'])."\">\n";

                      echo 
                "    <input type=\"hidden\" name=\"listin\" value=\"".$_REQUEST['listin']."\">            \n";
                      echo 
                "    <input type=\"hidden\" name=\"tmp_dirpay\" value=\"".$_REQUEST['tmp_dirpay']."\">            \n";
                      echo 
                "    <input type=\"hidden\" name=\"apply_vat\" value=\"".$_REQUEST['apply_vat']."\">            \n";
                      echo 
                "    <input type=\"hidden\" name=\"voucher_code\" value=\"".$_REQUEST['voucher_code']."\">\n";

                      echo 
                "    <input type=\"hidden\" name=\"videofile_path\" value=\"".$_REQUEST['videofile_path']."\">\n";

                      echo 
                "    <input type=\"hidden\" name=\"listing_type\" value=\"".$_REQUEST['listing_type']."\">\n";

                      echo 
                "    <input type=\"hidden\" name=\"offer_active\" value=\"".$_REQUEST['offer_active']."\">\n";
                      echo 
                "    <input type=\"hidden\" name=\"offer_range_min\" value=\"".$_REQUEST['offer_range_min']."\">\n";
                      echo 
                "    <input type=\"hidden\" name=\"offer_range_max\" value=\"".$_REQUEST['offer_range_max']."\">\n"
                Nun muss ich aber den Replace auch noch in anderen Zeilen ausführen (also nicht nur bei "startprice") - ich wollte wissen wie ich da weiter machen kann?

                Kommentar


                • #9
                  Wenn es funktioniert, wieso verwendest du dann nicht den selben Weg?


                  Anstelle von
                  PHP-Code:
                  $testvar str_replace(",",".",$_REQUEST['startprice']);
                  echo 
                  "  <input type=\"hidden\" name=\"startprice\" value=\"".$testvar."\">"
                  kannst du allerdings auch gleich

                  PHP-Code:
                  echo "  <input type=\"hidden\" name=\"startprice\" value=\"".str_replace(",",".",$_REQUEST['startprice'])."\">"
                  Ist weniger Text daher übersichtlicher und sollte aufgrund der fehlenden Variable sogar die Performance etwas anheben

                  Edit: Da fällt mir grad ein, du kannst das natürlich auch viel einfacher machen, wenn du soviele Werte in einem Array hast, allerdings nur wenn du es tatsächlich mit _allen_ Werten des Arrays machen möchtest:

                  PHP-Code:
                  foreach ($_REQUEST as $key=>$value) {
                    
                  $_REQUEST[$key] = str_replace(",""."$value);

                  Zuletzt geändert von ArSeN; 19.12.2006, 12:33.
                  Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

                  Kommentar


                  • #10
                    !

                    Supper!!

                    Folgendes Problem:
                    Mit deinem Code:
                    PHP-Code:
                    echo "  <input type=\"hidden\" name=\"startprice\" value=\"".str_replace(",",".",$_REQUEST['startprice'])."\">"
                    klappt das wunderbar bei:
                    PHP-Code:
                    echo "  <input type=\"hidden\" name=\"startprice\" value=\"".str_replace(",",".",$_REQUEST['startprice'])."\"> \n"
                    und
                    PHP-Code:
                    echo "  <input type=\"hidden\" name=\"resprice\" value=\"".str_replace(",",".",$_REQUEST['resprice'])."\"> \n"
                    und
                    PHP-Code:
                    echo "  <input type=\"hidden\" name=\"bnprice\" value=\"".str_replace(",",".",$_REQUEST['bnprice'])."\"> \n"
                    Nun aber ganz komisch - wenn ich das selbe für:
                    PHP-Code:
                    echo "  <input type=\"hidden\" name=\"postage_costs\" value=\"".str_replace(",",".",$_REQUEST['postage_costs'])."\"> \n"
                    und
                    PHP-Code:
                    echo "  <input type=\"hidden\" name=\"insurance\" value=\"".str_replace(",",".",$_REQUEST['insurance'])."\"> \n"
                    mache, nimmt er zwar das Komma und macht daraus einen Punkt - ABER - die Zahlen hinter dem Komma werden auf 00 gesetzt - also aus 4,59 wir 4.00 ?
                    Das komische dabei - es funktioniert mit "startprice, resprice und bnprice" - aber bei "postage_costs und insurance" klappt es nicht???
                    Das ist jetzt noch das einzige Problem!

                    Kommentar


                    • #11
                      !!

                      Hab jetzt mal diesen Code getestet:
                      PHP-Code:
                      foreach ($_REQUEST as $key=>$value) {
                        
                      $_REQUEST[$key] = str_replace(",""."$value);

                      Das klappt!
                      Nur ist das Problem - es werden ja auch Texte eingegeben - in den Texten wird dann das Komma auch in Punkt verwandelt!
                      Kann man den Code nicht so anpassen das er nur bei Zahleneingabe das Komma in Punkt wandelt?
                      Zum Beispiel anstelle von
                      PHP-Code:
                      $value 
                      eine Aufzählung ( bnprice, startprice, postage_costs...........)?

                      Kommentar


                      • #12
                        Gehirn anschalten und manual benutzen.
                        Dann frickelt ihr euch da irgendwie durch. Es ist ein weitverbreiteter
                        irrglaube dass man mit php irgendwas anständiges gebacken bekommt
                        ohne auch nur einen hauch ahnung von der materie zu haben.

                        OffTopic:

                        Das wird ein endlosthread, ich sehs kommen.



                        greets
                        (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

                        Kommentar


                        • #13
                          !

                          SCHULDIGUNG

                          dachte das Forum ist für solche Sachen da?

                          Mit solchen Sachen haben wir uns nie befasst - mussten bisher noch nie Komma gegen Punkt ersetzen!

                          Alles was ich jetzt noch brauche ist das dieser Code nur für bestimmte Werte funktioniert - also nur eingegebenen Zahlen umwandelt:

                          PHP-Code:
                          foreach ($_REQUEST as $key=>$value) {
                            
                          $_REQUEST[$key] = str_replace(",""."$value);

                          Kommentar


                          • #14
                            Hi,

                            nein dieser bereich ist nicht dafür da. Vll verschiebt euch ein mod ins richtige
                            subforum. Dort wird euch sicher recht schnell geholfen, weil dann die
                            voraussetzungen klar sind.

                            OffTopic:

                            Warum schreibst du immer "wir"? Bist du viele?



                            greets
                            (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

                            Kommentar


                            • #15
                              ??

                              Bin leider nach vielen Tests noch immer nicht weitergekommen.

                              Hab aber einen neuen Denkanreiz bekommen.

                              Kann man das nicht direkt im Formular ausführen in dem Feld wo der Preis eingegeben wird?

                              PHP-Code:
                              <input name="startprice" type="text" class="contentfont" id="startprice" value="<?=$_REQUEST['startprice'];?>" size="8">

                              Mario

                              Kommentar

                              Lädt...
                              X