Foros del Web » Programando para Internet » PHP »

Problema con php!

Estas en el tema de Problema con php! en el foro de PHP en Foros del Web. Hola amigos, hoy mismo he instalado un directorio que pretendo utilizar para mostrar contenido de mi web(los enlaces), más concretamente vídeos y letras de canciones. ...
  #1 (permalink)  
Antiguo 01/08/2008, 11:53
Avatar de eminem24  
Fecha de Ingreso: julio-2008
Mensajes: 68
Antigüedad: 15 años, 9 meses
Puntos: 0
Exclamación Problema con php!

Hola amigos, hoy mismo he instalado un directorio que pretendo utilizar para mostrar contenido de mi web(los enlaces), más concretamente vídeos y letras de canciones. Ya lo he personalizado al diseño de mi web pero ahora tengo un problema. Resulta que el formulario que utilizo para añadir los enlaces tienen límites de carácteres. En cuanto al límite máximo me da igual pero necesito quitarle el mínimo.

Yo colocaré la info así:

Donde va el título del enlace = El nombre del artista o grupo
Donde va la descripción = el título del tema en concreto

El problema es que si tengo que poner un nombre como Akon no me deja porque es menor de 5 carácteres. Lo mismo me pasa con los nombre de los temas (donde el mínimo es de 50).

He cambiado esos valores mínimos en el siguiente trozo de código de la página add_url.php

Cita:
if (strlen($title) < 5 || strlen($title) > 100) { $error_variables = true; $errors["title"] = true; };
if (strlen($description) < 50 || strlen($description) > 200) { $error_variables = true; $errors["description"] = true; };
if (strlen($keywords) < 20 || strlen($keywords) > 200) { $error_variables = true; $errors["keywords"] = true;
El código completo de esa misma página es:

Código PHP:
<?php
require_once("config.php");
require_once(
"include.php");
require_once(
"template_add_url.php");
$c *= 1;
if (
$c == 0){
    
header("Location: {$dir}");
    exit();
};
$bd mysql_connect($mysql_hostname$mysql_user$mysql_password);
mysql_select_db($mysql_database$bd);
require_once(
"include_banned.php");
$sql mysql_query("SELECT name, title, description, pages, ref FROM {$prefix}categories WHERE id = $c");
$current_category array_map("parse_output",mysql_fetch_array($sqlMYSQL_ASSOC));
if ((
$c 1) & !$current_category["name"]){
    
mysql_close();
    
header("Location: {$dir}");
    exit();
};
if (!
$current_category["name"]) $current_category["name"] = "Free PHP Directory Script";
if (!
$current_category["description"]) $current_category["description"] = $current_category["name"]." ".$current_category["title"];

$replace = array("[CATEGORY_NAME]" => $current_category["name"], "[CATEGORY_TITLE]" => $current_category["title"], "[CATEGORY_DESCRIPTION]" => $current_category["description"]);
echo 
strtr($TEMPLATE["HEADING"],$replace);
flush();
$last_category false;
$ref $c;
while(!
$last_category){
    
$n_parent_categories += 1;
    
$sql mysql_query("SELECT id, name, ref FROM {$prefix}categories WHERE id = $ref");
    
$parent_categories[$n_parent_categories-1] = array_map("parse_output",mysql_fetch_array($sqlMYSQL_ASSOC));
    if (
$parent_categories[$n_parent_categories-1]["ref"] == 0){
        
$last_category true;
    }else{
        
$ref $parent_categories[$n_parent_categories-1]["ref"];
    };
};
echo 
$TEMPLATE["PATH"]["HEADING"];
for (
$x $n_parent_categories-1$x >= 0$x--){
    if (
$x != $n_parent_categories-1) echo $TEMPLATE["PATH"]["SEPARATOR"];
    if (
$parent_categories[$x]["id"] > 1){
        
$category_url $dir.'index.php?c='.$parent_categories[$x]["id"];
    }else{
        
$category_url $dir;
    };
    
$replace = array("[CATEGORY_NAME]" => $parent_categories[$x]["name"], "[CATEGORY_URL]" => $category_url);
    echo 
strtr($TEMPLATE["PATH"]["CATEGORY"],$replace);
};
echo 
$TEMPLATE["PATH"]["FOOTER"];
flush();
if (
$_SERVER["REQUEST_METHOD"] == "POST"){
    
$url convert_url($url);
    
$keywords convert_keywords($keywords);
    
$url parse_input($url);
    
$title parse_input($title);
    
$description parse_input($description);
    
$keywords parse_input($keywords);
    
$sql mysql_query("SELECT * FROM {$prefix}pages WHERE url = '$url'");
    if (
mysql_num_rows($sql) > 0){
        
$error_duplication true;
    }else{
##############################
        
if (strlen($title) < || strlen($title) > 100) { $error_variables true$errors["title"] = true; };
        if (
strlen($description) < 50 || strlen($description) > 200) { $error_variables true$errors["description"] = true; };
        if (
strlen($keywords) < 20 || strlen($keywords) > 200) { $error_variables true$errors["keywords"] = true;
        if (
strlen($url) < 10) { $error_variables true$errors["url"] = true; };
##############################
        
if (!$error_variables){
            
mysql_query("INSERT INTO {$prefix}pages (url,title,description,keywords,accepted,ip,category) VALUES ('$url','$title','$description','$keywords','n','".$_SERVER["REMOTE_ADDR"]."',$c)");
        };
    };
};
mysql_close();
if (
$_SERVER["REQUEST_METHOD"] == "POST"){
    if (
$error_duplication){
        echo 
$TEMPLATE["DUPLICATED_SUBMISSION"];
    }elseif (
$error_variables){
        echo 
$TEMPLATE["ERROR_FORM"]["HEADING"];
        
$field = ($errors["url"])? $TEMPLATE["ERROR_FORM"]["ERROR_FIELD"] : $TEMPLATE["ERROR_FORM"]["FIELD"];
        
$replace = array("[FIELD_NAME]" => "url""[FIELD_VALUE]" => parse_output($url), "[FIELD_MAXLENGTH]" => 100"[FIELD_DESCRIPTION]" => $TEMPLATE["FORM"]["FIELDS"]["URL"]);
        echo 
strtr($field,$replace);
        
$field = ($errors["title"])? $TEMPLATE["ERROR_FORM"]["ERROR_FIELD"] : $TEMPLATE["ERROR_FORM"]["FIELD"];
        
$replace = array("[FIELD_NAME]" => "title""[FIELD_VALUE]" => parse_output($title), "[FIELD_MAXLENGTH]" => 100"[FIELD_DESCRIPTION]" => $TEMPLATE["FORM"]["FIELDS"]["TITLE"]);
        echo 
strtr($field,$replace);
        
$field = ($errors["description"])? $TEMPLATE["ERROR_FORM"]["ERROR_FIELD"] : $TEMPLATE["ERROR_FORM"]["FIELD"];
        
$replace = array("[FIELD_NAME]" => "description""[FIELD_VALUE]" => parse_output($description), "[FIELD_MAXLENGTH]" => 200"[FIELD_DESCRIPTION]" => $TEMPLATE["FORM"]["FIELDS"]["DESCRIPTION"]);
        echo 
strtr($field,$replace);
        
$field = ($errors["keywords"])? $TEMPLATE["ERROR_FORM"]["ERROR_FIELD"] : $TEMPLATE["ERROR_FORM"]["FIELD"];
        
$replace = array("[FIELD_NAME]" => "keywords""[FIELD_VALUE]" => parse_output($keywords), "[FIELD_MAXLENGTH]" => 200"[FIELD_DESCRIPTION]" => $TEMPLATE["FORM"]["FIELDS"]["KEYWORDS"]);
        echo 
strtr($field,$replace);
        echo 
'<INPUT TYPE="hidden" NAME="c" VALUE="'.$c.'">'."\r\n";
        echo 
$TEMPLATE["ERROR_FORM"]["FOOTER"];
    }else{
        echo 
$TEMPLATE["CORRECT_SUBMISSION"];
    };
}else{
    echo 
$TEMPLATE["FORM"]["HEADING"];
    
$replace = array("[FIELD_NAME]" => "url""[FIELD_VALUE]" => "http://""[FIELD_MAXLENGTH]" => 100"[FIELD_DESCRIPTION]" => $TEMPLATE["FORM"]["FIELDS"]["URL"]);
    echo 
strtr($TEMPLATE["FORM"]["FIELD"],$replace);
    
$replace = array("[FIELD_NAME]" => "title""[FIELD_VALUE]" => """[FIELD_MAXLENGTH]" => 100"[FIELD_DESCRIPTION]" => $TEMPLATE["FORM"]["FIELDS"]["TITLE"]);
    echo 
strtr($TEMPLATE["FORM"]["FIELD"],$replace);
    
$replace = array("[FIELD_NAME]" => "description""[FIELD_VALUE]" => """[FIELD_MAXLENGTH]" => 200"[FIELD_DESCRIPTION]" => $TEMPLATE["FORM"]["FIELDS"]["DESCRIPTION"]);
    echo 
strtr($TEMPLATE["FORM"]["FIELD"],$replace);
    
$replace = array("[FIELD_NAME]" => "keywords""[FIELD_VALUE]" => """[FIELD_MAXLENGTH]" => 200"[FIELD_DESCRIPTION]" => $TEMPLATE["FORM"]["FIELDS"]["KEYWORDS"]);
    echo 
strtr($TEMPLATE["FORM"]["FIELD"],$replace);
    echo 
'<INPUT TYPE="hidden" NAME="c" VALUE="'.$c.'">'."\r\n";
    echo 
$TEMPLATE["FORM"]["FOOTER"];
};
echo 
$TEMPLATE["FOOTER"];
?>
¿Que es lo que he hecho mal? ... ¿tengo que tocarle algo a los campos de la base de datos? ... ¿me he saltado algo? Decirme como puedo hacerlo por favor.

Gracias desde ya!

Última edición por jam1138; 01/08/2008 a las 12:14 Razón: Haciendo mucho más amigable la lectura
  #2 (permalink)  
Antiguo 01/08/2008, 12:29
Avatar de eminem24  
Fecha de Ingreso: julio-2008
Mensajes: 68
Antigüedad: 15 años, 9 meses
Puntos: 0
De acuerdo Lo conseguí!!

Lo primero perdón por poner el codigo mal en el foro(que veo que lo han actualizado). Bueno pues ya esta, ya he logrado cambiar eso. Resulta que yo añado los datos desde el panel control y entonces hay otra página add_url para el admin. Lo he cambiado en las dos páginas y ya me acepta las entradas como yo quiero.

Pero bueno, ya que estoy! me gustaría saber como puedo sacar tops 10 de mis diferentes bases de datos y mostrarlas en mi web. También me gustaría saber como puedo hacer para que se vean las visitas recibidas y enviadas de cada enlace del directorio y mostrar la cantidad de enlaces que hay en cada categoría y las totales. Ya sería la bomba si alguien explica como hacer para que se pueda votar a los enlaces y que estos se coloquen segun las visitas enviadas y no por orden alfabético como es mi caso.

Bueno se que pregunto mucho pero esto servirá para muchos/as que quieren saber como personalizar su directorio. Ojalá me ayudeis a darle ese toque de calidad al directorio. Saludos a todos, buenas webs y gracias anticipadas!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:14.