Hola hice este codigo:
<!DOCTYPE html>
<?php
$servername = "sql201.260mb.net";
$username = "censurado";
$password = "censurado";
// Create connection
$conn = new mysqli($servername, $username, $password);
// Check connection
if ($conn->connect_error) {
die("Conecxion fallida: " . $conn->connect_error);
}
echo "Conectado";
//Insert data
if(isset($_POST['data']) && !empty($_POST['data']) &&
isset($_POST['materia']) && !empty($_POST['materia']) &&
isset($_POST['tarea']) && !empty($_POST['tarea']))
{
mysql_query("INSERT INTO 1eso_A (data,materia,tarea) VALUES ('$_POST[data]','$_POST[materia]','$_POST[tarea]')",$formulario);
echo "datos insertados correctamente";
}else{
echo "problema al insertar los datos";
}
?>
<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="procesar.php" method="post" name="form">
<font size="+1" color="#333333" face="Segoe script">Data:</font> <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">  <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> <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;"> <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>
Este código esta conectado es decir que la conexión me va bien pero quiero que al insertar los datos en el formulario envie los datos en mi base de datos que esta conectado puse este código:
//Insert data
if(isset($_POST['data']) && !empty($_POST['data']) &&
isset($_POST['materia']) && !empty($_POST['materia']) &&
isset($_POST['tarea']) && !empty($_POST['tarea']))
{
mysql_query("INSERT INTO 1eso_A (data,materia,tarea) VALUES ('$_POST[data]','$_POST[materia]','$_POST[tarea]')",$formulario);
echo "datos insertados correctamente";
}else{
echo "problema al insertar los datos";
}
No se si esta bien
Lo puse y al guardarlo y subirlo en 260mb.net y lo visualuzo me pone conectado que esta bien pero despues me pone "problema al insertar los datos" cuyo frase puse yo al programar el c�digo eso creo que significa que el c�digo:
//Insert data
if(isset($_POST['data']) && !empty($_POST['data']) &&
isset($_POST['materia']) && !empty($_POST['materia']) &&
isset($_POST['tarea']) && !empty($_POST['tarea']))
{
mysql_query("INSERT INTO 1eso_A (data,materia,tarea) VALUES ('$_POST[data]','$_POST[materia]','$_POST[tarea]')",$formulario);
echo "datos insertados correctamente";
}
hay algo mal y no se que es.
Gracias
Proba reemplazando las comillas simples por dobles donde concatenas los valores de $_POST. Porque sino PHP no leera el valor de estas variables, sino que toma el texto literalmente como $_POST[data]
En otras palabras, no es lo mismo decir,
'$_POST[data]' # Toma el valor como una cadena normal
qué,
"'".$_POST[data]."'" # Toma el valor enviado por POST
Se puede hacer con jQuery o javascript es que no me funcionó.
Gracias
Intenta depurar un poco, tal que así:
$query = "INSERT INTO 1eso_A (data,materia,tarea) VALUES ('$_POST[data]','$_POST[materia]','$_POST[tarea]')";
$resultado = mysqli_query($query) or die(mysqli_error());
Y dos cosas:
1.- mysql_query esta "deprecated" por lo que deberias acostumbrarte a utilizar a partir de ahora msyqli_query()
2.- ¿Porque al final del insert le metes una variable $formulario, que se supone que le pasas ahí?
Saludos
Hola puse este código
<!DOCTYPE html>
<?php
$servername = "censurado";
$username = "censurado";
$password = "censurado";
$base = "1eso_A";
// Create connection
$conn = new mysqli($servername, $username, $password);
// Check connection
if ($conn->connect_error) {
die("Conecxion fallida: " . $conn->connect_error);
}
echo "Conectado";
//Insert data
$sql = "INSERT INTO $base (data,materia,tarea) VALUES ('$data', '$materia', '$tarea')";
if (mysqli_query($conn, $sql)) {
echo " a la base de datos";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
?>
<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="procesar.php" method="post" name="form">
<font size="+1" color="#333333" face="Segoe script">Data:</font> <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">  <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> <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;"> <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>
<?php
$servername = "sql201.260mb.net";
$username = "n260m_19293384";
$password = "iescalvia";
$base = "1eso_A";
// Create connection
$conn = new mysqli($servername, $username, $password);
// Check connection
if ($conn->connect_error) {
die("Conecxion fallida: " . $conn->connect_error);
}
echo "Conectado";
//Insert data
$sql = "INSERT INTO $base (data,materia,tarea) VALUES ('$data', '$materia', '$tarea')";
if (mysqli_query($conn, $sql)) {
echo " a la base de datos";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
?>
y al guardarlo me sale esto: Error: INSERT INTO 1eso_A (data,materia,tarea) VALUES ('', '', '')
No database selected
intenté con el código que me dijo Diego5 pero me da error y de esta forma esta que dice que no hay ninguna base de datos seleccionada.
No entiendo que está mal?
P.D: y mysqli_query no pude usarlo.
Gracias
intentaste esto (http://bfy.tw/96NX)? no te dio resultados?
Puse este codigo:
<!DOCTYPE html>
<?php
$servername = "censurado";
$username = "censurado";
$password = "censurado";
$base = "1esoa";
// Create connection
$conn = new mysqli($servername, $username, $password);
// Check connection
if ($conn->connect_error) {
die("Conecxion fallida: " . $conn->connect_error);
}
echo "Conectado";
//Insert data
$mysqli_query = "INSERT INTO $base (data,materia,tarea) VALUES ('$data1', '$materia1', '$tarea1')";
if (mysqli_query($conn, $sql)) {
echo " a la base de datos";
} else {
echo "Error al insertar los datos " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
?>
<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="procesar.php" method="post" name="form">
<font size="+1" color="#333333" face="Segoe script">Data:</font> <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">  <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> <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;"> <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 me va bien pero no inserta los datos en la base de datos pone Error al insertar los datos cuyo frase puse yo. El error está aquí pero no sé muy bien donde:
$mysqli_query = "INSERT INTO $base (data,materia,tarea) VALUES ('$data1', '$materia1', '$tarea1')";
if (mysqli_query($conn, $sql)) {
echo " a la base de datos";
} else {
echo "Error al insertar los datos " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
Creo que el error está en que el código $mysqli_query = "INSERT INTO $base (data,materia,tarea) VALUES ('$data1', '$materia1', '$tarea1')";
esta nombrado como $mysqli_query y el código if (mysqli_query($conn, $sql)) {
echo " a la base de datos";
} else {
echo "Error al insertar los datos " . $sql . "<br>" . mysqli_error($conn);
}
lo llama $sql y no hay ninguno pero no sé si lo que digo es cierto, hice esto, poner $mysqli_query en el código en el lugar de $sql y no me funcionó.
No se lo que está mal.
P.D:
no puse $mysqli_query = "INSERT INTO $base (data,materia,tarea) VALUES ('$_POST['data1'], '$_POST['materia1']', '$_POST['tarea1']')";
poque no me funcionaba y lo reemplace por '$data1','$materia1','$tarea1'
que me fue bien.
Gracias :)