function - return value

Discussion in 'PHP' started by lostsouler, Nov 15, 2010.

  1. #1
    I wanna return value $sum (when $naklad > 800) to use in another function [ function calc_all($sum) ]

    Does somebody have idea.

    <?php
    $rozmery = $_POST['rozmery'];
    $rozm_textx = $_POST['rozm_textx'];
    $rozm_texty = $_POST['rozm_texty'];
    $farebnost = $_POST['farebnost'];
    $papier = $_POST['papier'];
    $p_leskly = $_POST['p_leskly'];
    $p_matny = $_POST['p_matny'];
    $p_iny = $_POST['p_iny'];
    $naklad = $_POST['naklad'];
    $pocetdruhov = $_POST['pocetdruhov'];
    $lomy = $_POST['lomy'];
    $laminacia = $_POST['laminacia'];
    $parcialnylak = $_POST['parcialnylak'];
    $mail_to = $_POST['mail_to'];
    
    /*$rozmfix = $rozmery ;
    $rozmvar = echo "ine rozmery: ".$rozm_textx." x ".$rozm_texty."<br />";
    */
    if ($rozmery == "iny") {
        $x_rozm_text = $rozm_textx;
        $y_rozm_text = $rozm_texty;
        
        $vs_rozmery = "Iné rozmery (SxV): ".$x_rozm_text." x ".$y_rozm_text;    
    
    echo "Rozmery: ".$vs_rozmery."<br />";        
    
    }
    else {
        $vs_rozmery = $rozmery;
    echo "Rozmery: ".$vs_rozmery."<br />";
    }
    /*echo "Rozmery: ".$rozmery ."  Iné rozmery (SxV): ".$rozm_textx." x ".$rozm_texty."<br />";
    */
    
    calc_rozmery($vs_rozmery,$naklad);
    
    
    
    function calc_rozmery($vs_rozmery,$naklad){
        if ($vs_rozmery== 1){
            if ($naklad<=10){
            
            $sum = $naklad * 0.08;
            
            echo $sum;
            }
        
            if (11<= $naklad && $naklad <=50){
            
            $sum = $naklad * 0.07;
            
            echo $sum;
            }
        
            if (51<= $naklad && $naklad <=100){
            
            $sum = $naklad * 0.05;
            
            echo $sum;
            }
        
            if (101<= $naklad && $naklad <=500){
            
            $sum = $naklad * 0.04;
            
            echo $sum;
            }
            if (501<= $naklad && $naklad <=800){
            
            $sum = $naklad * 0.03;
            
            echo $sum;
            }
            if (801<= $naklad ){
            
            $sum = $naklad * 0.02;
            
            return $sum;
            }
        return $sum;    
        }
    return $sum;    
    }
    
    echo "Farebnost: ".$farebnost ."<br />";
    farebn($farebnost);
    
    function farebn($farebnost){
        $sum = $farebnost +10;
        echo $sum;
        
        }
    
    if ($papier == "leskly") {
        $typ_papier = $p_leskly;
     echo "Papier: ".$papier." ".$typ_papier."<br />";        
    }
    if ($papier == "matny") {
        $typ_papier = $p_matny;
     echo "Papier: ".$papier." ".$typ_papier."<br />";        
    }
    if ($papier == "iny") {
        $typ_papier = $p_iny;
     echo "Papier: ".$papier." ".$typ_papier."<br />";        
    }
    
    /*echo "Papier: ".$papier; echo $p_leskly; echo $p_matny; echo $p_iny;"<br />";
    */
    
    echo "Naklad: ".$naklad ."<br />";
    echo "Pocet druhov: ".$pocetdruhov ."<br />";
    echo "Lomy: ".$lomy ."<br />";
    
    if ($laminacia == "l_mat") {
        $typ_laminacia = $parcialnylak;
     echo "Laminacia: ".$laminacia." - ".$typ_laminacia."<br />";        
    }
    else{
        echo "Laminacia: ".$laminacia;    
    }
    /*echo "Laminacia: ".$laminacia; echo $parcialnylak;"<br />";
    */
    
    $Name = "juhos"; //senders name
    $email = "email@adress.com"; //senders e-mail adress
    $recipient = "xyz".", ".$mail_to; //recipient
    $mail_body = "Rozmery: ".$vs_rozmery."\n"; //mail body
    $mail_body .= "Farebnost: ".$farebnost."\n";
    $mail_body .= "Papier: ".$papier." - ".$typ_papier."\n";
    $mail_body .= "Naklad: ".$naklad."\nPocet druhov: ".$pocetdruhov."\n";
    $mail_body .= "Lomy: ".$lomy ."\nLaminacia :".$laminacia." - ".$typ_laminacia."\n";
    $mail_body .= "Vas mail: ".$mail_to."\n"; //mail body
    
    $subject = "On-line cenova ponuka"; //subject
    $header = "From: ". $Name . " <" . $email . ">\r\n"; //optional headerfields
    
    /*mail($recipient, $subject, $mail_body, $header); //mail command :)
    */
    function calc_all($sum){
    
    $all = $sum;
    echo $all;
    }
     calc_all($sum);
    echo $sum;
    
    ?>
    
    PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    
    <script type="text/javascript">
    function showtext(c) {
    if(c=="leskly") {
    document.getElementById("lesk").style.display="block";
    }
    else {
    document.getElementById("lesk").style.display="none";
    }
    
    if(c=="matny") {
    document.getElementById("mat").style.display="block";
    }
    else {
    document.getElementById("mat").style.display="none";
    }
    if(c=="iny") {
    document.getElementById("iny").style.display="block";
    }
    else {
    document.getElementById("iny").style.display="none";
    }
    }
    
    function rozmertext(a) {
    if(a=="iny") {
    //document.getElementById("rozm_text").style.display="block";
    
    }
    else {
    
    document.getElementById("rozm_text").style.display="none";
    
    }
    }
    function showlamin(b) {
    if(b=="l_mat") {
    document.getElementById("lamin").style.display="block";
    
    }
    else {
    document.getElementById("lamin").style.display="none";
    }
    }
    
      function clearFields() {
     document.getElementByName("rozm_textx").value = "";
    }
    
      function clearFields1(f) {
          if(f=="iny"){
    //document.getElementByName("rozm_textx").value = "no";
    // document.getElementById("rozm_text").style.display="block";
    
    
    document.getElementById("rozm_text").style.display="block";
    
    //document.write("Hello World!");
    //var name_element = document.getElementById('rozm_text');
    
    //document.write(name_element);
    
    }}
    </script>
    
    </head>
    
    <body>
    <form action="proces.php" method="post">
    <label>Rozmery:</label><select name="rozmery" id="rozmery" onChange="rozmertext(this.value)" onClick="clearFields1(this.value)">
      <option value="0">A3:29,7 x 42cm</option>
      <option value="1">A4:21 x 29,7cm</option>
      <option>A5:14 x 21cm</option>
      <option>DL:9 x 21cm</option>
      <option value="iny">iný</option>
    </select>
    <div id="rozm_text" style="display:none;float:right;">
    <label style="display:inline;">Šírka(cm):</label><input  name="rozm_textx" type="text" id="test" style="margin-left:10px;" />
    <label style="display:inline;">Výška(cm):</label><input name="rozm_texty" type="text"  style="margin-left:10px;" />
    </div>
    <br />
    <label>Farebnosť:</label><select name="farebnost" id="farebnost">
      <option value="0">4+4</option>
      <option value="1">4+1</option>
      <option value="2">4+0</option>
      <option value="3">1+1</option>
      <option value="4">1+0</option>
    </select><br />
    <label>Papier:</label><select name="papier" id="papier" onchange="showtext(this.value)">
      <option value="">vyber</option>
      <option value="leskly">lesklý</option>
      <option value="matny">matný</option>
      <option value="iny">iný</option>
    </select>
    <select name="p_leskly" id="lesk" style="display:none;margin-left:10px;float:right;">
      <option>115 g/m2</option>
      <option>130 g/m2</option>
      <option>160 g/m2</option>
      <option>200 g/m2</option>
      <option>250 g/m2</option>
      <option>280 g/m2</option>
    </select>
    <select name="p_matny" id="mat" style="display:none;margin-left:10px;float:right;">
      <option>80 g/m2</option>
      <option>90 g/m2</option>
      <option>130 g/m2</option>
      <option>160 g/m2</option>
      <option>200 g/m2</option>
      <option>250 g/m2</option>
      <option>280 g/m2</option>
    </select>
    <select name="p_iny" id="iny" style="display:none;margin-left:10px;float:right;">
      <option>potom</option>
    </select>
    
    <br />
    <label>Náklad:</label><input name="naklad" type="text" />
    <label style="display:inline;margin-left:15px;">Počet druhov:</label><input name="pocetdruhov" type="text"  />
    <br />
    <label>Lomy:</label><input name="lomy" type="text" /><br />
    <label>Laminácia:</label><select name="laminacia" onChange="showlamin(this.value)">
      <option>žiadna</option>
      <option value="l_mat">1+0 mat</option>
      <option value="l_mat">1+1 mat</option>
      <option>1+0 lesk</option>
      <option>1+1 lesk</option>
    </select>
    <div id="lamin" style="display:none;margin-left:15px;"> <label >Parcialny lak:</label><select name="parcialnylak"  style="display:inline;">
      <option>žiadny</option>
      <option>1+1 lesklý</option>
      <option>1+0 lesklý</option>
    </select></div>
    <br />
    <label>Vas mail:</label><input name="mail_to" type="text" />
    <p>
      <input type="submit" name="button" id="button" value="Submit" />
    </p>
    
    
    </form>
    
    </body>
    </html>
    
    HTML:
     
    lostsouler, Nov 15, 2010 IP
  2. d_s

    d_s Peon

    Messages:
    22
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #2
    Hi,
    Can't get the detail. when you want to return why not use the return statement. if you can shed more details, it would be fine.

    regards,
    d_s

     
    d_s, Nov 15, 2010 IP
  3. lostsouler

    lostsouler Peon

    Messages:
    16
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #3
    Hi, I use return statement in line 79
     
    lostsouler, Nov 15, 2010 IP
  4. lostsouler

    lostsouler Peon

    Messages:
    16
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #4
    I tried a code. i have question:
    why cant I send to the function input values?

    example:
    </head>
    
    <body>
    <form action="return.php" method="post">
    X:<input name="x" type="text" /><br />
    
    Y:<input name="y" type="text" /><br />
    
    <input name="submit" type="submit" value="ok" />
    
    </form>
    
    </body>
    </html>
    HTML:
    <?php
    $x = $_POST['x'];
    $y = $_POST['y'];
    
    function add($x,$y)
    {
    $total=$x+$y;
    
    return $total;
    }
    add($x,$y);
    
    /*echo "1 + 16 = " . add(2,16);
    */
    ?>
    PHP:
     
    lostsouler, Nov 16, 2010 IP
  5. dansari

    dansari Well-Known Member

    Messages:
    50
    Likes Received:
    1
    Best Answers:
    0
    Trophy Points:
    108
    #5
    You're sending them to the function, but you're not outputting them.

    Try:
    echo add($x, $y);
     
    dansari, Nov 16, 2010 IP