entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Registrar mysql y php

Al querer hacer un registro en la base de datos no lo hace, segun yo esta el codigo bien y no encuentro cual es el problema :( el codigo html

<html lang="es">
<head>
    <meta charset="utf-8">
    <link rel="stylesheet" href="http://wearbyte.com/css/bootstrap.css" media="screen" title="no title" charset="utf-8">
</head>
<body>

    <?php
        //Conexión a la base de datos
            $servidor = "localhost"; //Nombre del servidor
            $usuario = "_______"; //Nombre de usuario en tu servidor
            $password = "_______"; //Contraseña del usuario
            $base = "_______"; //Nombre de la BD

            $conexion = mysqli_connect($servidor, $usuario, $password) or die("Error al conectarse al servidor");
            mysqli_select_db($conexion, $base) or die("Error al conectarse a la base de datos");
    ?>

    <div class="container">
        <div class="row">
            <div class="col-md-2">
                <div class="col-md-3">
            <div class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" role="complementary">
            <ul class="nav bs-docs-sidenav">
                <li><a href="#lista">Lista</a></li>
                <li><a href="#borrar">Borrar</a></li>
            </ul>
            <a class="back-to-top" href="#top">
              Ir hacia arriba
            </a>
              </div>
            </div>
            </div>
            <div class="col-md-10">
                <h1 class="page-header">Proveedores</h1>
                <div class="well">
                    <form method="post" action="reg-prov.php">
                        <table class="table">
                            <tr>
                                <td>Clave:</td>
                                <td><input type="number" name="codigo"></td>
                            </tr>
                            <tr>
                                <td>Nombre Comercial:</td>
                                <td><input type="text" name="producto"></td>
                            </tr>
                            <tr>
                                <td>RFC:</td>
                                <td><input type="text" name="rfc"></td>
                            </tr>
                            <tr>
                                <td>Domicilio:</td>
                                <td><input name="domicilio" type="text"> Fecha U. Costo: <input name="fecha" type="text"></td>
                            </tr>
                            <tr>
                                <td>Colonia:</td>
                                <td><input name="colonia" type="text"></td>
                            </tr>
                            <tr>
                                <td>Ciudad:</td>
                                <td><input name="ciudad" type="text"> Estado: <input name="estado" type="text"></td>
                            </tr>
                            <tr>
                                <td>Pais:</td>
                                <td><input name="pais" type="text"> Codigo Postal: <input name="cp" type="text"></td>
                            </tr>
                            <tr>
                                <td>Contacto:</td>
                                <td><input name="contacto" type="text"></td>
                            </tr>
                            <tr>
                                <td>Teléfono:</td>
                                <td><input name="telefono" type="text"> Extensión: <input name="extension" type="text"></td>
                            </tr>
                            <tr>
                                <td>Teléfono Celular:</td>
                                <td><input name="celular" type="text"></td>
                            </tr>
                            <tr>
                                <td>E-mail:</td>
                                <td><input name="mail" type="text"></td>
                            </tr>
                            <tr>
                                <td>Página Web:</td>
                                <td><input name="pagina" type="text"></td>
                            </tr>
                        </table>
                        <input class="btn btn-lg btn-primary" type="submit">
                    </form>
                </div>
                <?php
                    $servidor = "localhost"; //Nombre del servidor
                    $usuario = "_______"; //Nombre de usuario en tu servidor
                    $password = "_______"; //Contraseña del usuario
                    $base = "_______"; //Nombre de la BD

                    $conexion = mysqli_connect($servidor, $usuario, $password) or die("Error al conectarse al servidor");
                    mysqli_select_db($conexion, $base) or die("Error al conectarse a la base de datos");

                    $buscar = mysqli_query($conexion, "SELECT * FROM proveedores");
                    if (mysqli_num_rows($buscar) > 0) {
                    ?>
                    <table id="lista" class="table" border="2" width="100%">
                    <tr>
                    <th>Codigo</th>
                    <th>Clave</th>
                    <th>Nombre Comercial</th>
                    <th>RFC</th>
                    <th>Domicilio</th>
                    <th>Fecha</th>
                    <th>Colonia</th>
                    <th>Ciudad</th>
                    <th>Pais</th>
                    <th>Codigo Postal</th>
                    <th>Contacto</th>
                    <th>Telefono</th>
                    <th>Extension</th>
                    <th>Telefono Celular</th>
                    <th>Email</th>
                    <th>Pagina web</th>
                    </tr>
                    <?php
                    while ($datos = mysqli_fetch_array($buscar)){
                    ?>
                    <tr>
                    <td> <?=$datos["codigo"]?> </td>
                    <td> <?=$datos["descripcion"]?> </td>
                    </tr>
                    <?php
                    }
                    mysqli_free_result($buscar);
                    ?>
                    </table>
                    <?php
                    } else {
                    echo "
                        <div class='alert alert-warning'>
                            No se encontraron datos en la base
                        </div>
                    ";
                    }
                ?>
            </div>
        </div>
    </div>

    <script type="text/javascript" src="../css/js/bootstrap.js"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
</body>
</html>

PHP:

<?php
    $usr = "_______";
    $p3s3 = "_______";
    $dtb = "_______";
    $link = mysql_connect("localhost", $usr, $p3s3);
    mysql_select_db($dtb, $link);

    $conexion = mysql_connect("localhost", $usr, $p3s3) or die(mysql_error());
    mysql_select_db($dtb, $link) or die(mysql_error());

    $codigo  = $_POST['codigo'];
    $producto  = $_POST['producto'];
    $rfc  = $_POST['rfc'];
    $domicilio  = $_POST['domicilio'];
    $fecha  = $_POST['fecha'];
    $colonia  = $_POST['colonia'];
    $ciudad  = $_POST['ciudad'];
    $estado  = $_POST['estado'];
    $pais  = $_POST['pais'];
    $codigo  = $_POST['cp'];
    $contacto  = $_POST['contacto'];
    $telefono  = $_POST['telefono'];
    $extension  = $_POST['extension'];
    $celular  = $_POST['celular'];
    $mail  = $_POST['mail'];
    $pagina  = $_POST['pagina'];

    $query = "INSERT INTO proveedores (codigo, producto, rfc, domicilio, fecha, colonia, ciudad, estado, pais, codigo-postal, contacto, telefono, extension, celular, mail, pagina) VALUES ($codigo, $producto, $rfc, $domicilio, $fecha, $colonia, $ciudad, $estado, $pais, $codigo, $contacto, $telefono, $extension, $celular, $mail, $pagina)";
    echo $query;
    mysql_query($query, $link);
        echo "
        <div class='container'>
            <div class='alert alert-success'>Registro completado<br><br>
                <a href='../proveedores.php'>
                    <button class='btn btn-primary'>Regresar</button>
                </a>
            </div>
        </div>
    ";
?>
<script type="text/javascript" src="../../css/js/bootstrap.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

0voto

carlossevi comentado

Te recomendaría editar el texto para eliminar los valores de nombres de usuario y contraseña.

1 Respuesta

3votos

white Puntos75820

hola @romancoronadoa, te comento los errores que encontre:

en tu consulta te falta agregar comillas para poder insertar cadenas de texto, lo correcto debería ser:

INSERT INTO proveedores (domicilio, ciudad) VALUES ('ejemplo', 'ejemplo')

en la linea:

estado, pais, codigo-postal, contacto

existe la columna codigo-postal? me parece que la tienes como cp realmente.


estas definiendo y volviendo a definir $codigo en estas lineas:

$codigo  = $_POST['codigo'];
...
$codigo  = $_POST['cp'];

por lo que me imagino codigo deberia ser para la columna codigo y la otra linea para la columna cp, entonces deberias definirlo con otra variable, por ejemplo $postal.


intenta modificar el fichero reg-prov.php, prueba de esta manera:

<?php
    $usr = "_______";
    $p3s3 = "_______";
    $dtb = "_______";
    $link = mysql_connect("localhost", $usr, $p3s3);
    mysql_select_db($dtb, $link);

    $conexion = mysql_connect("localhost", $usr, $p3s3) or die(mysql_error());
    mysql_select_db($dtb, $link) or die(mysql_error());

    $codigo  = (int) $_POST['codigo'];
    $producto  = sprintf("'%s'", htmlspecialchars($_POST['producto']));
    $rfc  = sprintf("'%s'", htmlspecialchars($_POST['rfc']));
    $domicilio  = sprintf("'%s'", htmlspecialchars($_POST['domicilio']));
    $fecha  = sprintf("'%s'", htmlspecialchars($_POST['fecha']));
    $colonia  = sprintf("'%s'", htmlspecialchars($_POST['colonia']));
    $ciudad  = sprintf("'%s'", htmlspecialchars($_POST['ciudad']));
    $estado  = sprintf("'%s'", htmlspecialchars($_POST['estado']));
    $pais  = sprintf("'%s'", htmlspecialchars($_POST['pais']));
    $postal  = sprintf("'%s'", htmlspecialchars($_POST['cp']));
    $contacto  = sprintf("'%s'", htmlspecialchars($_POST['contacto']));
    $telefono  = sprintf("'%s'", htmlspecialchars($_POST['telefono']));
    $extension  = sprintf("'%s'", htmlspecialchars($_POST['extension']));
    $celular  = sprintf("'%s'", htmlspecialchars($_POST['celular']));
    $mail  = sprintf("'%s'", htmlspecialchars($_POST['mail']));
    $pagina  = sprintf("'%s'", htmlspecialchars($_POST['pagina']));

    $query = "INSERT INTO proveedores (codigo, producto, rfc, domicilio, fecha, colonia, ciudad, estado, pais, cp, contacto, telefono, extension, celular, mail, pagina) VALUES ($codigo, $producto, $rfc, $domicilio, $fecha, $colonia, $ciudad, $estado, $pais, $postal, $contacto, $telefono, $extension, $celular, $mail, $pagina)";
    echo $query;
    mysql_query($query, $link);
    echo mysql_error();
        echo "
        <div class='container'>
            <div class='alert alert-success'>Registro completado<br><br>
                <a href='../proveedores.php'>
                    <button class='btn btn-primary'>Regresar</button>
                </a>
            </div>
        </div>
    ";
?>
<script type="text/javascript" src="../../css/js/bootstrap.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

recuerda que mysql esta deprecado, como consejo utiliza mysqli en su lugar en el fichero reg-prov.php, tal como lo haces en tu otro fichero.

saludos!

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta