Autor Zpráva
koule
Profil *
Ahoj, chci si udělat RS(něco jako LucidCMS). Nechci aby to umělo přidávat články,ale pouze upravovat stránky a přidávat nové. Toto vše bych uměl,ale potřebuju aby se mi při přidání nové stránky přidala i položka v menu.

Funkce:
Když budu přidávat položku tak zadam název stránky a z toho aby mi to udělalo pěknou adresu(protože název stránky je s mezerama a diakritikou.) potom aby to vytvořilo další řádek v tabulce a dalo do něj už tu adresu(pěknou) no a potom jak to zobrazit na stránce. tohle nevim. jestli bude někdo ochoten poradit tak budu rád. diky
Str4wberry
Profil
koule
http://php.vrana.cz/vytvoreni-pratelskeho-url.php
http://php.vrana.cz/automaticke-vytvoreni-pratelskeho-url.php
koule
Profil *
diky. docela mi to pomohlo. pokud bude vědět někdo ještě o ňáké stránce tak může něco přihodit.
koule
Profil *
tady na těch odkazech neni popsáno jak z toho udělat rs. nebo spíš jak to potom zobrazit na stránce(to menu) a hlavně mi to nefunguje.
Str4wberry
Profil
koule
No budeš si muset navrhnout databázi (třeba MySQL). Do té budeš ty stránky a položky menu ukládat a vypisovat.
koule
Profil *
to mam. přiložim kod. ale nikdy se mi ta adresa do DB neuloží. ukážu ten kod.(třeba tam je chyba)


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Untitled Document</title>
<script language="javascript" type="text/javascript" src="http://djrozo.ic.cz/tinymce.2/jscripts/tiny_mce/tiny_mce_dev.js"> </script>
<script language="javascript" type="text/javascript">
tinyMCE.init({
mode : "textareas",
theme : "advanced",
plugins : "devkit,style,layer,table,save,advhr,advimage,advlink,emotions,iespell ,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,di rectionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras ,template",
theme_advanced_buttons1_add_before : "save,newdocument,separator",
theme_advanced_buttons1_add : "fontselect,fontsizeselect",
theme_advanced_buttons2_add : "separator,insertdate,inserttime,preview,separator,forecolor,backcolor ",
theme_advanced_buttons2_add_before: "cut,copy,paste,pastetext,pasteword,separator,search,replace,separator ",
theme_advanced_buttons3_add_before : "tablecontrols,separator",
theme_advanced_buttons3_add : "emotions,iespell,media,advhr,separator,print,separator,ltr,rtl,separa tor,fullscreen",
theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abb r,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,|,code",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_path_location : "bottom",
content_css : "example_full.css",
plugin_insertdate_dateFormat : "%Y-%m-%d",
plugin_insertdate_timeFormat : "%H:%M:%S",
extended_valid_elements : "hr[class|width|size|noshade],font[face|size|color|style],span[class|a lign|style]",
external_link_list_url : "example_link_list.js",
external_image_list_url : "example_image_list.js",
flash_external_list_url : "example_flash_list.js",
media_external_list_url : "example_media_list.js",
template_external_list_url : "example_template_list.js",
file_browser_callback : "fileBrowserCallBack",
theme_advanced_resize_horizontal : false,
theme_advanced_resizing : true,
nonbreaking_force_tab : true,
apply_source_formatting : true,
template_replace_values : {
username : "Jack Black",
staffid : "991234"
},
relat2ive_urls : false,
rem2ove_script_host : false
});

function fileBrowserCallBack(field_name, url, type, win) {
// This is where you insert your custom filebrowser logic
alert("Example of filebrowser callback: field_name: " + field_name + ", url: " + url + ", type: " + type);

// Insert new URL, this would normaly be done in a popup
win.document.forms[0].elements[field_name].value = "someurl.htm";
}
</script>
</head>
<body>

<h2>Zápis do databáze</h2>
<?php
include 'config.php'; //na?teme soubor s údaji pro p?ipojení k db
mysql_connect($dbserver, $dblogin, $dbheslo); // p?ipojíme se k db
mysql_select_db($dbnazev) // vybereme db..
or die("Chyba! Databáze nebo tabulka nebyla nalezena!
Pokra?ujte <a href="install.php">zde</a>");
mysql_query("SET NAMES 'cp1250'"); // nastavíme kódování
//když odešleme formulá? následující script data uloží to tabulky v databázi
if(isset($_POST['send']))
{

function friendly_url($nadpis) {
$url = $nadpis;
$url = preg_replace('~[^\pL0-9_]+~u', '-', $url);
$url = trim($url, "-");
$url = iconv("utf-8", "us-ascii//TRANSLIT", $url);
$url = strtolower($url);
$url = preg_replace('~[^-a-z0-9_]+~', '', $url);
return $url;
}


$text=str_replace(" ","<br>",$text); //p?i odentrování v textarey se toto p?evede na od?ádkování
$vloz ="insert into aktuality set nadpis='".$nadpis."', text='".$text."', url='".$url."';";
$result=mysql_query($vloz);

//a p?esm?rujeme na zobrazení ?lánk?
echo '<script type="text/javascript" for="window" event="onLoad()">
<!--
window.location.href="zapis.php?edit=ok"
// --> </script>';
}
if($edit == "ok")
echo '<b>Údaje byly vloženy</b>'; // vypíšeme úsp?šnost
mysql_close(); //odpojíme se z db
?>
<!-- formulá? pro zadávání ?daj? -->
<form method="post">
Nadpis: <input name="nadpis" type="text" size="20" maxlength="20"><br>
Text: <textarea name="text" cols="30" rows="3"></textarea><br>
<input type="submit" value="Vložit" name="send">
</form>
</body>
</html>
Str4wberry
Profil
koule
A proměnné $nadpis, $text, $url jsou platné hodnoty pro příslušný sloupec. Zkus si je vypsat.

Ještě jsem si všiml tohoto:
$text=str_replace("
","<br>",$text); //p?i odentrování v textarey se toto p?evede na od?ádkování
Proč nepoužít nl2br()?
koule
Profil *
jo v tabulce mam sloupce: text, nadpis, url. všechno se mi vyplní,jenom sloupec url ne!! nevim proč
Str4wberry
Profil
koule
Možná se mi to zdá, ale funkce friendly_url() není vůbec použita.

$vloz ="insert into aktuality set nadpis='".$nadpis."', text='".$text."', url='".friendly_url($nadpis)."';";
koule
Profil *
jo diky moc!! už to funguje.(sem vul že sem si toho nevšiml),ale každý se php někdy musí učit.

ted už jenom potřebuju vyřešit zobrazeni v menu.
koule
Profil *
mohl by mi někdo poradit, jak se dělá, aby mi ten výpis. prostě jak udělat odkazy na ty příspěvky(ty co jsou v databázy-url adresa už je taky v databázy. ted potřebuju udělat akorát to menu. ale nevim jak to udělat.
Str4wberry
Profil
koule
Najdi si něco o cyklech. A vůbec, najdi si nějaký seriál o PHP — „válí“ se jich na internetu více než dost.
koule
Profil *
copak to já mám. knihy a vucec mam toho dost. jenže nevim co se jak a kam píše. co k čemu a jak to všechno poskládat(ten kod)

Ono z té knihy se toho moc nenaučim. nejlepší jsou už hotové příklady. z toho se toho člověk naučí nejvíc.
tiso
Profil
koule http://phpxref.com a študuj - máš tam zdrojáky x redakčných systémova podobne..
koule
Profil *
diky. tohle doufam bude stačit. neznáte z těch všech co tam sou ňákej jednoduchej.

Potřebuju přidávat stránky, takže dam přidat stránku-z nadpisu se udělá URL a uloží do DB. a potom jenom vypsání stránek z té databáze a hlavně to menu. neumim to z databáze vybrat a sestavit z toho menu. takže vlastně polovičku už mam. data jsou v databázy, ale neumim výpis(sestavení menu).
Str4wberry
Profil
koule
Ono z té knihy se toho moc nenaučim. nejlepší jsou už hotové příklady. z toho se toho člověk naučí nejvíc.
Konkrétně jsem měl na mysli tento seriál na Linuxsoftu. Máš tam plno příkladů.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: