He creado un formulario que procesa unos datos para ser almacenados en una BD, uno de sus campos es la url de un archivo que debe almacenarse en el server. Para ello, el php primero sube el archivo y acontinuación procesa el resto de datos para ser almacenados en una BD.
El problema esta en que cuando accedo a este PHP mediante el navegador, este no muestra el formulario ¿donde puede estar el error?
Francamente, estoy me estoy iniciando en el lenguaje pHP y he modificado un original que encontré en un tutorial. pero no lo hice bien.
Código PHP:
<?php
if (isset($_POST['submit'])) {
if (!empty($_POST['titulo']) && !empty($_POST['definicion'])) {
// Cargar foto, después introducir datos
$upload = false;
if (isset($_POST['submit'])) {
if(is_uploaded_file($_FILES['archivo']['tmp_name'])) { // verifica haya sido cargado el archivo
if(move_uploaded_file($_FILES['archivo']['tmp_name'], "videos/".$_FILES['archivo']['name'])) { // se coloca en su lugar final
echo "<b>Upload exitoso!. Datos:</b><br>";
echo "Nombre: <i><a href=\""."videos/".$_FILES['archivo']['name']."\">".$_FILES['archivo']['name']."</a></i><br>";
echo "Tipo MIME: <i>".$_FILES['archivo']['type']."</i><br>";
echo "Peso: <i>".$_FILES['archivo']['size']." bytes</i><br>";
echo "<br><hr><br>";
}
if ($upload) {
$fecha = date("d.m.Y, H:i") . " horas";
$titulo = strip_tags($_POST['titulo']);
$categoria = strip_tags($_POST['categoria']);
$definicion = strip_tags($_POST['definicion']);
$conexion = mysql_connect(" * * * ", " * * * "," * * * ");
mysql_select_db(" * * * ",$conexion);
$sql = "INSERT INTO videos " . "VALUES ('', '$titulo', '$categoria',
'$archivo', '$fecha', '$definicion')";
if (mysql_query($sql)) {
echo "<p>Se ha podido introducir los datos en la base de datos.</p>";
} else {
echo "<p><b>No</b> se ha podido introducir los datos en la base de datos.</p>";
}
echo "<h3>nada</h3>";
}
} else if (isset($_POST['submit'])) {
echo "<h2>¡Todavía falta algo!</h2>
<p>Deben rellenarse <b>todos</b> los campos.</p>
<form><input type='button' value='Volver'
onclick='javascript:history.back()'></form>";
}
?>
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data">
<input type="text" name="titulo"><br>
<input type="text" name="categoria"><br>
<input type="file" name="archivo"><br>
<textarea cols="65" rows="15" wrap="soft" name="definicion">
</textarea><br>
<input type="submit" name="submit" value="Introducir entrada -->">
</form>