Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: Drakaris en 13 Diciembre 2016, 19:07 PM

Título: Hacer un formulario que guarde los datos en una base de datos [PHPMyAdmin]
Publicado por: Drakaris en 13 Diciembre 2016, 19:07 PM
Hola hice este codigo con un tutorial:
<!-- index.php -->
<?php
include_once('conexión.php')
$conexión = new Conexion();
  function 
guardarDatos(){
  
if(isset($_POST['data'])){
    
$data=$_POST['data'];

    
$materia=$_POST['materia'];

    
$tarea=$_POST['tarea'];

      if(
$data!='' and $materia!=''){
    
 mysql_query("INSERT INTO Deberes(data, materia, tarea) VALUES ('$data', '$materia', '$tarea')")
    
 if(mysql_errno()){
    
  echo 'Los datos introducidos no son valios';
    
  }else{
    
   echo 'Los datos introducidos han sido guardados';
    
  }
        }else{
        
if($data=='') echo 'Debe de especificar la data';
        
if($materia=='') echo 'Debe de especificar la materia';
        }

    }
  }

  function 
mostrarDatos(){
  
echo '<table class=""1eso a">';
  
echo '<thead>
       <tr>
           <td>Data</td>
           <td>Materia</td>
           <td>Tarea</td>
       </tr>'
;
  
echo '</thead>';
  
echo '</tbody>';
  
while($row=mysql_fetch_assoc($result)){
  
echo '<tr>';

  
foreach ($row as  $value){
  
echo '<td>';

  
echo '</td>';
  
}

  
echo '<tr>';
  
}

  
echo '</tbody>';
  
echo '</table>';

  }
?>

<!DOCTYPE html>
<script type="text/javascript">
function mensaje(){
alert("solo acepta números, puedes escribir hasta 10 caracteres");
}
</script>
<script type="text/javascript">
function solonumeros(e){
key=e.keyCode || e.which;

teclado=String.fromCharCode(key);

numeros="0123456789";

especiales="8-37-38-46-92-32-47";//array

caracteres_especiales="160-47-46-59-58";

teclado_especial=false;

for(var i in especiales){

if(key==especiales[i]){

teclado_especial=true;
}
}

if(numeros.indexOf(teclado)==-1 && !teclado_especial){
return false;
}
}
</script>
     <head>
     <title>Materia</title>
</head>

<body>
<center><font color="#333333" face="Segoe script" size="+6">Materia</font></center>
<br>
<br>
<center>
<form action="" method="post" name="datos">
<font size="+1" color="#333333" face="Segoe script">Data:</font>&nbsp;<input type="text" name="data" onKeyPress="return solonumeros(event)" onpaste="return false" maxlength="10" style="background-color: lightblue; color: gray; border: inset; border-color: orange" value="-/-/-" id="data">&nbsp&nbsp<input type="button" onclick="mensaje()" style=" cursor:help; background-color:lightgreen; border-bottom-color:#66FF00;" value="i">
<br>
<br>
<font size="+1" face="Segoe script">Materia:</font>&nbsp;<input type="text" name="materia" style="background-color: lightblue; color: gray; border: inset; border-color: orange" id="materia">
<br>
<br>
<font size="+1" face="Segoe script">Tarea:</font>
<br>
<br>
<textarea cols="50" rows="10" name="tarea" style="background-color: lightblue; color: gray; border: inset; border-color: orange" id="tarea"></textarea>
<br>
<br>
<input type="submit" value="Enviar" style="background-color: orange; border: inset; border-color: orange; cursor: pointer;">&nbsp;<input type="reset" value="Limpiar formulario" style="background-color: orange; border: inset; border-color: orange; cursor: pointer;" name="ok" id="ok">
</form>
<p><?php guardarDatos(); ?></p>
<?php mostrarDatos(); ?>
</center>
</body>
</html>

hay otro codigo:
<?php
 
/**
 * 
 */
 
class Conexion
 
{
 
var $enlase;
 
function __construct()
 
{
 
$this->enlace mysql_connect('localhost''root''iescalvia');
 
mysql_select_db('1eso a');
 
echo 'Conectado';
 
}

 
function __destruct(){
 
mysql_close($this->enlace);
 
echo 'desconectado';
 
}
 }

Lo hice paso a paso quiero ver si esta bien. Me podrían ayudar?
Lo quiero para publicarlo en un servidor hecho en 260mb.net.

Lo he publicado pero me pone esto.
(http://C:%5CUsers%5CIVAN%20HEREDIA%20PLANAS%5CPictures%5Cfallo%201.png)
La página ies-calvia.260mb.net no funciona

La página ies-calvia.260mb.net no puede procesar esta solicitud ahora.
HTTP ERROR 500

También es por la posición de la página?

Esta en:

htdocs<index.php<formulario.php y conexión.php
Título: Re: Hacer un formulario que guarde los datos en una base de datos [PHPMyAdmin]
Publicado por: [u]nsigned en 13 Diciembre 2016, 19:31 PM
Los errores HTTP 500 un 99.99% de las veces son porque tenes mal configurado tu .htaccess o directamente no tenes el mod_rewrite de apache habilitado.
Título: Re: Hacer un formulario que guarde los datos en una base de datos [PHPMyAdmin]
Publicado por: Drakaris en 13 Diciembre 2016, 20:00 PM
Es decir que me lo que me esta diciendo es poblema del servidor 260mb.net o de mi ordenador?
Título: Re: Hacer un formulario que guarde los datos en una base de datos [PHPMyAdmin]
Publicado por: [u]nsigned en 14 Diciembre 2016, 02:24 AM
Es una mala configuración del servidor. Fijate que en la raíz de tu directorio web (www, htdocs o public_html) tenes una archivo .htaccess. Podrias postear aca el contenido del mismo?

Estas intentado usar mod_rewrite de apache?
Título: Re: Hacer un formulario que guarde los datos en una base de datos [PHPMyAdmin]
Publicado por: Drakaris en 17 Diciembre 2016, 23:46 PM
Hice la conexión a la base de datos y me fue bien. Una pregunta? Por ejemplo abró el codigo que puese:

<!DOCTYPE html>
<?php
$servername 
"sql201.260mb.net";
$username "n260m_19293384";
$password "iescalvia";

// Create connection
$conn = new mysqli($servername$username$password);

// Check connection
if ($conn->connect_error) {
    die(
"Conecxion fallida: " $conn->connect_error);

echo 
"Conectado";
?>

<script type="text/javascript">
function mensaje(){
alert("solo acepta números, puedes escribir hasta 10 caracteres");
}
</script>
<script type="text/javascript">
function solonumeros(e){
key=e.keyCode || e.which;

teclado=String.fromCharCode(key);

numeros="0123456789";

especiales="8-37-38-46-92-32-47";//array

caracteres_especiales="160-47-46-59-58";

teclado_especial=false;

for(var i in especiales){

if(key==especiales[i]){

teclado_especial=true;
}
}

if(numeros.indexOf(teclado)==-1 && !teclado_especial){
return false;
}
}
</script>
     <head>
     <title>Materia</title>
</head>

<body>
<center><font color="#333333" face="Segoe script" size="+6">Insertar deberes</font></center>
<br>
<br>
<center>
<form action="" method="post">
<font size="+1" color="#333333" face="Segoe script">Data:</font>&nbsp;<input type="text" name="data" onKeyPress="return solonumeros(event)" onpaste="return false" maxlength="10" style="background-color: lightblue; color: gray; border: inset; border-color: orange" value="-/-/-" id="data">&nbsp&nbsp<input type="button" onclick="mensaje()" style=" cursor:help; background-color:lightgreen; border-bottom-color:#66FF00;" value="i">
<br>
<br>
<font size="+1" face="Segoe script">Materia:</font>&nbsp;<input type="text" name="materia" style="background-color: lightblue; color: gray; border: inset; border-color: orange" id="materia">
<br>
<br>
<font size="+1" face="Segoe script">Tarea:</font>
<br>
<br>
<textarea cols="50" rows="10" name="tarea" style="background-color: lightblue; color: gray; border: inset; border-color: orange" id="tarea"></textarea>
<br>
<br>
<a href="conectar.php">
<input type="submit" value="Enviar"  onclick="guardardatos()" style="background-color: orange; border: inset; border-color: orange; cursor: pointer;">&nbsp;<input type="reset" value="Limpiar formulario" style="background-color: orange; border: inset; border-color: orange; cursor: pointer;" name="ok" id="ok">
</a>
</form>
</center>
</body>
</html>
[/b]

en mi File Manager y se ve el resultado "pone conectado" pero cuando en el resultado doy click derecho y pongo ver código fuente de la página se ve el código pero no se ve el código PHP. No se si me entiende.

Sería vería así en File Manager:
<!DOCTYPE html>
<?php
$servername 
"sql201.260mb.net";
$username "n260m_19293384";
$password "iescalvia";

// Create connection
$conn = new mysqli($servername$username$password);

// Check connection
if ($conn->connect_error) {
    die(
"Conecxion fallida: " $conn->connect_error);

echo 
"Conectado";
?>

<script type="text/javascript">
function mensaje(){
alert("solo acepta números, puedes escribir hasta 10 caracteres");
}
</script>
<script type="text/javascript">
function solonumeros(e){
key=e.keyCode || e.which;

teclado=String.fromCharCode(key);

numeros="0123456789";

especiales="8-37-38-46-92-32-47";//array

caracteres_especiales="160-47-46-59-58";

teclado_especial=false;

for(var i in especiales){

if(key==especiales[i]){

teclado_especial=true;
}
}

if(numeros.indexOf(teclado)==-1 && !teclado_especial){
return false;
}
}
</script>
     <head>
     <title>Materia</title>
</head>

<body>
<center><font color="#333333" face="Segoe script" size="+6">Insertar deberes</font></center>
<br>
<br>
<center>
<form action="" method="post">
<font size="+1" color="#333333" face="Segoe script">Data:</font>&nbsp;<input type="text" name="data" onKeyPress="return solonumeros(event)" onpaste="return false" maxlength="10" style="background-color: lightblue; color: gray; border: inset; border-color: orange" value="-/-/-" id="data">&nbsp&nbsp<input type="button" onclick="mensaje()" style=" cursor:help; background-color:lightgreen; border-bottom-color:#66FF00;" value="i">
<br>
<br>
<font size="+1" face="Segoe script">Materia:</font>&nbsp;<input type="text" name="materia" style="background-color: lightblue; color: gray; border: inset; border-color: orange" id="materia">
<br>
<br>
<font size="+1" face="Segoe script">Tarea:</font>
<br>
<br>
<textarea cols="50" rows="10" name="tarea" style="background-color: lightblue; color: gray; border: inset; border-color: orange" id="tarea"></textarea>
<br>
<br>
<a href="conectar.php">
<input type="submit" value="Enviar"  onclick="guardardatos()" style="background-color: orange; border: inset; border-color: orange; cursor: pointer;">&nbsp;<input type="reset" value="Limpiar formulario" style="background-color: orange; border: inset; border-color: orange; cursor: pointer;" name="ok" id="ok">
</a>
</form>
</center>
</body>
</html>


y en código fuente de la página se ve así en el navegador:
<!DOCTYPE html>
[b][u]Conectado[/u][/b]<script type="text/javascript">
function mensaje(){
alert("solo acepta números, puedes escribir hasta 10 caracteres");
}
</script>
<script type="text/javascript">
function solonumeros(e){
key=e.keyCode || e.which;

teclado=String.fromCharCode(key);

numeros="0123456789";

especiales="8-37-38-46-92-32-47";//array

caracteres_especiales="160-47-46-59-58";

teclado_especial=false;

for(var i in especiales){

if(key==especiales[i]){

teclado_especial=true;
}
}

if(numeros.indexOf(teclado)==-1 && !teclado_especial){
return false;
}
}
</script>
     <head>
     <title>Materia</title>
</head>

<body>
<center><font color="#333333" face="Segoe script" size="+6">Insertar deberes</font></center>
<br>
<br>
<center>
<form action="" method="post">
<font size="+1" color="#333333" face="Segoe script">Data:</font>&nbsp;<input type="text" name="data" onKeyPress="return solonumeros(event)" onpaste="return false" maxlength="10" style="background-color: lightblue; color: gray; border: inset; border-color: orange" value="-/-/-" id="data">&nbsp&nbsp<input type="button" onclick="mensaje()" style=" cursor:help; background-color:lightgreen; border-bottom-color:#66FF00;" value="i">
<br>
<br>
<font size="+1" face="Segoe script">Materia:</font>&nbsp;<input type="text" name="materia" style="background-color: lightblue; color: gray; border: inset; border-color: orange" id="materia">
<br>
<br>
<font size="+1" face="Segoe script">Tarea:</font>
<br>
<br>
<textarea cols="50" rows="10" name="tarea" style="background-color: lightblue; color: gray; border: inset; border-color: orange" id="tarea"></textarea>
<br>
<br>
<a href="conectar.php">
<input type="submit" value="Enviar"  onclick="guardardatos()" style="background-color: orange; border: inset; border-color: orange; cursor: pointer;">&nbsp;<input type="reset" value="Limpiar formulario" style="background-color: orange; border: inset; border-color: orange; cursor: pointer;" name="ok" id="ok">
</a>
</form>
</center>
</body>
</noscript>
<div style="text-align: center;"><div style="position:relative; top:0; margin-right:auto;margin-left:auto; z-index:99999">
<script language="javascript" type="text/javascript">
lz="http://ocio.leadzu.com/banner_request.php?m=1GGYSITE66217X5&a=&idtm=468x60&lgid="+new Date().getTime();
document.write("<scr"+"ipt language='javascript' type='text/javascript' src='"+lz+"'></scr"+"ipt>");
</script>
<p>

</p>
<div align="center">Sitio alojado en <a href="http://260mb.net">260MB </a></div>
</div></div>
</html>


No entiendo porque, es normal?


Gracias
Título: Re: Hacer un formulario que guarde los datos en una base de datos [PHPMyAdmin]
Publicado por: Drakaris en 18 Diciembre 2016, 21:00 PM
Hice la conexión a la base de datos y me fue bien. Una pregunta? Por ejemplo abró el codigo que puese:

<!DOCTYPE html>
<?php
$servername 
"sql201.260mb.net";
$username "n260m_19293384";
$password "iescalvia";

// Create connection
$conn = new mysqli($servername$username$password);

// Check connection
if ($conn->connect_error) {
    die(
"Conecxion fallida: " $conn->connect_error);

echo 
"Conectado";
?>

<script type="text/javascript">
function mensaje(){
alert("solo acepta números, puedes escribir hasta 10 caracteres");
}
</script>
<script type="text/javascript">
function solonumeros(e){
key=e.keyCode || e.which;

teclado=String.fromCharCode(key);

numeros="0123456789";

especiales="8-37-38-46-92-32-47";//array

caracteres_especiales="160-47-46-59-58";

teclado_especial=false;

for(var i in especiales){

if(key==especiales[i]){

teclado_especial=true;
}
}

if(numeros.indexOf(teclado)==-1 && !teclado_especial){
return false;
}
}
</script>
     <head>
     <title>Materia</title>
</head>

<body>
<center><font color="#333333" face="Segoe script" size="+6">Insertar deberes</font></center>
<br>
<br>
<center>
<form action="" method="post">
<font size="+1" color="#333333" face="Segoe script">Data:</font>&nbsp;<input type="text" name="data" onKeyPress="return solonumeros(event)" onpaste="return false" maxlength="10" style="background-color: lightblue; color: gray; border: inset; border-color: orange" value="-/-/-" id="data">&nbsp&nbsp<input type="button" onclick="mensaje()" style=" cursor:help; background-color:lightgreen; border-bottom-color:#66FF00;" value="i">
<br>
<br>
<font size="+1" face="Segoe script">Materia:</font>&nbsp;<input type="text" name="materia" style="background-color: lightblue; color: gray; border: inset; border-color: orange" id="materia">
<br>
<br>
<font size="+1" face="Segoe script">Tarea:</font>
<br>
<br>
<textarea cols="50" rows="10" name="tarea" style="background-color: lightblue; color: gray; border: inset; border-color: orange" id="tarea"></textarea>
<br>
<br>
<a href="conectar.php">
<input type="submit" value="Enviar"  onclick="guardardatos()" style="background-color: orange; border: inset; border-color: orange; cursor: pointer;">&nbsp;<input type="reset" value="Limpiar formulario" style="background-color: orange; border: inset; border-color: orange; cursor: pointer;" name="ok" id="ok">
</a>
</form>
</center>
</body>
</html>
[/b]

en mi File Manager y se ve el resultado "pone conectado" pero cuando en el resultado doy click derecho y pongo ver código fuente de la página se ve el código pero no se ve el código PHP. No se si me entiende.

Sería vería así en File Manager:
<!DOCTYPE html>
<?php
$servername 
"sql201.260mb.net";
$username "n260m_19293384";
$password "iescalvia";

// Create connection
$conn = new mysqli($servername$username$password);

// Check connection
if ($conn->connect_error) {
    die(
"Conecxion fallida: " $conn->connect_error);

echo 
"Conectado";
?>

<script type="text/javascript">
function mensaje(){
alert("solo acepta números, puedes escribir hasta 10 caracteres");
}
</script>
<script type="text/javascript">
function solonumeros(e){
key=e.keyCode || e.which;

teclado=String.fromCharCode(key);

numeros="0123456789";

especiales="8-37-38-46-92-32-47";//array

caracteres_especiales="160-47-46-59-58";

teclado_especial=false;

for(var i in especiales){

if(key==especiales[i]){

teclado_especial=true;
}
}

if(numeros.indexOf(teclado)==-1 && !teclado_especial){
return false;
}
}
</script>
     <head>
     <title>Materia</title>
</head>

<body>
<center><font color="#333333" face="Segoe script" size="+6">Insertar deberes</font></center>
<br>
<br>
<center>
<form action="" method="post">
<font size="+1" color="#333333" face="Segoe script">Data:</font>&nbsp;<input type="text" name="data" onKeyPress="return solonumeros(event)" onpaste="return false" maxlength="10" style="background-color: lightblue; color: gray; border: inset; border-color: orange" value="-/-/-" id="data">&nbsp&nbsp<input type="button" onclick="mensaje()" style=" cursor:help; background-color:lightgreen; border-bottom-color:#66FF00;" value="i">
<br>
<br>
<font size="+1" face="Segoe script">Materia:</font>&nbsp;<input type="text" name="materia" style="background-color: lightblue; color: gray; border: inset; border-color: orange" id="materia">
<br>
<br>
<font size="+1" face="Segoe script">Tarea:</font>
<br>
<br>
<textarea cols="50" rows="10" name="tarea" style="background-color: lightblue; color: gray; border: inset; border-color: orange" id="tarea"></textarea>
<br>
<br>
<a href="conectar.php">
<input type="submit" value="Enviar"  onclick="guardardatos()" style="background-color: orange; border: inset; border-color: orange; cursor: pointer;">&nbsp;<input type="reset" value="Limpiar formulario" style="background-color: orange; border: inset; border-color: orange; cursor: pointer;" name="ok" id="ok">
</a>
</form>
</center>
</body>
</html>


y en código fuente de la página se ve así en el navegador:
<!DOCTYPE html>
[b][u]Conectado[/u][/b]<script type="text/javascript">
function mensaje(){
alert("solo acepta números, puedes escribir hasta 10 caracteres");
}
</script>
<script type="text/javascript">
function solonumeros(e){
key=e.keyCode || e.which;

teclado=String.fromCharCode(key);

numeros="0123456789";

especiales="8-37-38-46-92-32-47";//array

caracteres_especiales="160-47-46-59-58";

teclado_especial=false;

for(var i in especiales){

if(key==especiales[i]){

teclado_especial=true;
}
}

if(numeros.indexOf(teclado)==-1 && !teclado_especial){
return false;
}
}
</script>
     <head>
     <title>Materia</title>
</head>

<body>
<center><font color="#333333" face="Segoe script" size="+6">Insertar deberes</font></center>
<br>
<br>
<center>
<form action="" method="post">
<font size="+1" color="#333333" face="Segoe script">Data:</font>&nbsp;<input type="text" name="data" onKeyPress="return solonumeros(event)" onpaste="return false" maxlength="10" style="background-color: lightblue; color: gray; border: inset; border-color: orange" value="-/-/-" id="data">&nbsp&nbsp<input type="button" onclick="mensaje()" style=" cursor:help; background-color:lightgreen; border-bottom-color:#66FF00;" value="i">
<br>
<br>
<font size="+1" face="Segoe script">Materia:</font>&nbsp;<input type="text" name="materia" style="background-color: lightblue; color: gray; border: inset; border-color: orange" id="materia">
<br>
<br>
<font size="+1" face="Segoe script">Tarea:</font>
<br>
<br>
<textarea cols="50" rows="10" name="tarea" style="background-color: lightblue; color: gray; border: inset; border-color: orange" id="tarea"></textarea>
<br>
<br>
<a href="conectar.php">
<input type="submit" value="Enviar"  onclick="guardardatos()" style="background-color: orange; border: inset; border-color: orange; cursor: pointer;">&nbsp;<input type="reset" value="Limpiar formulario" style="background-color: orange; border: inset; border-color: orange; cursor: pointer;" name="ok" id="ok">
</a>
</form>
</center>
</body>
</noscript>
<div style="text-align: center;"><div style="position:relative; top:0; margin-right:auto;margin-left:auto; z-index:99999">
<script language="javascript" type="text/javascript">
lz="http://ocio.leadzu.com/banner_request.php?m=1GGYSITE66217X5&a=&idtm=468x60&lgid="+new Date().getTime();
document.write("<scr"+"ipt language='javascript' type='text/javascript' src='"+lz+"'></scr"+"ipt>");
</script>
<p>

</p>
<div align="center">Sitio alojado en <a href="http://260mb.net">260MB </a></div>
</div></div>
</html>


No entiendo porque, es normal?


Gracias