Programación php
Email: Password:


¡Regístrate gratis! | ¿Has perdido tu password?

Home
Blog

En él que podrás informarte de todas las noticias relacionadas con el posicionamiento de páginas web.

Ir al Blog de posicionamiento web



Foro de programación en PHP

Responder el mensaje

Ayuda novato PHP

Autor: locmec
Publicado: 11-10-2009 04:24 PM
Hola buenas

Mi problema es que me he liado a desarrollar un pequeño script para un amigo sin tener ni idea de programación en PHP y ahora pido ayuda para salir de este apuro. El tema es que en principio parece estar medio hecho, pero me queda rizar el rizo, y ya llevo muchos cabezazos, de ahí que pido si alguien me puede hechar una mano puesto que me he quedado estancado. El tema es que antes de pasarlo a PHP hice el script en Visual Basic para ver si me podia guiar un poco, pero claro, no me aclaro. En principio lo que me salio en PHP fue esto

<?
if (isset($_POST['Enviado']))
{
$Enviado = $_POST['Enviado'];

}
else{
$Enviado= "False";

}

if ($Enviado == "True")
{
// tomo las variables del formulario mediante el método usado por el mismo
$c3 = $_POST[M3Camara];


$c1=700;
$c2=30;

$c4=1;
$c5=10000;
$c6 = (($c2 - $c1)/($c5 - $c4));
$c7 = ($c3 - $c4);
$c8 = ($c6 * $c7);
$c9 = (($c1 + $c8) * $c3);
$resultado= $c9;


$Enviado == "False";

}

?>


<!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=iso-8859-1" />
<title>Calculadora Peri</title>
</head>

<body>


<form action="" name="form1" method="post">
<input name="M3Camara" size="17" type="text"/>
<br/>
<input value="Calcular" name="Calcular" type="submit"/>
<br/>
<input type="hidden" name="Enviado" value="True" />
<br/>
</form>


<?
// impresión del resultado de la operación
echo "$resultado";
?>

</body>
</html>

pero se trata de una interpolación lineal cuando yo la quiero hacer parabólica, os pongo el programa que desarrollé en VB6 y funciona perfectamente:

num% = Text1.Text
    
    If num% < "2" Then
        c = "700"
        b = (num% * c)
        a$ = b & " €"
        Label2.Caption = a$
        GoTo fin
    ElseIf num% <= "5" And num% >= "2" Then
        c1 = "700": c2 = "600": c4 = "2": c5 = "5"
    ElseIf num% >= "5" And num% <= "10" Then
        c1 = "600": c2 = "500": c4 = "5": c5 = "10"
    ElseIf num% >= "10" And num% <= "20" Then
        c1 = "500": c2 = "400": c4 = "10": c5 = "20"
    ElseIf num% >= "20" And num% <= "30" Then
        c1 = "400": c2 = "300": c4 = "20": c5 = "30"
    ElseIf num% >= "30" And num% <= "50" Then
        c1 = "300": c2 = "250": c4 = "30": c5 = "50"
    ElseIf num% >= "50" And num% <= "100" Then
        c1 = "250": c2 = "200": c4 = "50": c5 = "100"
    ElseIf num% >= "100" And num% <= "150" Then
        c1 = "200": c2 = "180": c4 = "100": c5 = "150"
    ElseIf num% >= "150" And num% <= "200" Then
        c1 = "180": c2 = "150": c4 = "150": c5 = "200"
    ElseIf num% >= "200" And num% <= "400" Then
        c1 = "150": c2 = "120": c4 = "200": c5 = "400"
    ElseIf num% >= "400" And num% <= "800" Then
        c1 = "120": c2 = "100": c4 = "400": c5 = "800"
    ElseIf num% >= "800" And num% <= "1200" Then
        c1 = "100": c2 = "90": c4 = "800": c5 = "1200"
    ElseIf num% >= "1200" And num% <= "2500" Then
        c1 = "70": c2 = "50": c4 = "1200": c5 = "2500"
    ElseIf num% >= "2500" And num% <= "10000" Then
        c1 = "50": c2 = "30": c4 = "2500": c5 = "10000"
    ElseIf num% >= "10000" Then
        c = "30"
        b = (num% * c)
        a$ = b & " €"
        Label2.Caption = a$
        GoTo fin
    End If

    c3 = num%
    c6 = ((c2 - c1) / (c5 - c4))
    c7 = (c3 - c4)
    c8 = (c6 * c7)
    c9 = ((c1 + c8) * c3)
    a$ = c9 & " €"
    Label2.Caption = a$

fin:


no se si alguien podria hecharme una mano a pasar el código VB6 a PHP.

Gracias de antemano

Un saludo
Autor: dcreate
Publicado: 14-10-2009 08:56 AM
espero esto te sirva, yo lo hago en ds paginas, unadonde mandas lo datos y otra donde los procesas.

index.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=iso-8859-1" />
<title>Documento sin título</title>
<script>
function validar(formulario)
{
if(formulario.numero.value=='')
{
alert("falta numero");
formulario.numero.focus();
return false;
}
return true;
}
</script>
</head>

<body>
<form onsubmit="return validar(this)" id="form1" name="form1" method="post" action="procesar.php">
<label>numero:
<input name="numero" type="text" id="numero" />
</label>
<p>
<label>
<input type="submit" name="Submit" value="Enviar" />
</label>
</p>
<p> </p>
</form>
</body>
</html>

procesar.php

<?php
$numero=$_POST['numero'];
if($numero<2)
{
$c=700;
$b=$numero*$c;
$a=$b." €";
echo $a;
exit;
}
else if($numero<=5 && $numero>=2){
$c1 = 700;
$c2 = 600;
$c4 = 2;
$c5 = 5;
}
else if($numero >= 5 && $numero <= 10 ){
$c1 = 600;
$c2 = 500;
$c4 = 5;
$c5 = 10;}
else if($numero >= 10 && $numero <= 20){
$c1 = 500; $c2 = 400; $c4 = 10; $c5 = 20;}
else if( $numero >= 20 and $numero <= 30) {
$c1 = 400; $c2 = 300; $c4 = 20; $c5 = 30;}
else if( $numero >= 30 and $numero <= 50) {
$c1 = 300; $c2 = 250; $c4 = 30; $c5 = 50;}
else if( $numero >= 50 and $numero <= 100) {
$c1 = 250; $c2 = 200; $c4 = 50; $c5 = 100;}
else if( $numero >= 100 and $numero <= 150) {
$c1 = 200; $c2 = 180; $c4 = 100; $c5 = 150;}
else if( $numero >= 150 and $numero <= 200) {
$c1 = 180; $c2 = 150; $c4 = 150; $c5 = 200;}
else if( $numero >= 200 and $numero <= 400) {
$c1 = 150; $c2 = 120; $c4 = 200; $c5 = 400;}
else if( $numero >= 400 and $numero <= 800) {
$c1 = 120; $c2 = 100; $c4 = 400; $c5 = 800;}
else if( $numero >= 800 and $numero <= 1200) {
$c1 = 100; $c2 = 90; $c4 = 800; $c5 = 1200;}
else if( $numero >= 1200 and $numero <= 2500) {
$c1 = 70; $c2 = 50; $c4 = 1200; $c5 = 2500;}
else if( $numero >= 2500 and $numero <= 10000) {
$c1 = 50; $c2 = 30; $c4 = 2500; $c5 = 10000;}
else if( $numero >= 10000) {
$c = 30;
$b = ($numero * $c);
$a = $b . " €";
echo $a;
exit;


}

$c3 = $numero;

$c6 = (($c2 - $c1) / ($c5 - $c4));
$c7 = ($c3 - $c4);
$c8 = ($c6 * $c7);
$c9 = (($c1 + $c8) * $c3);
$a = $c9 . " €";
echo $a;

?>