Autor Zpráva
iTzCreepyCz
Profil
Zdravím, je možné nějak udělat, nějaký formulář na nastavení názvu stránky v <title> ?


Potřebuji toto, aby přes tento kod se nastavil v headeru název stránky podle zadání.
<div class="panel panel-primary">
      <div class="panel-heading">Upravit: <b>Název stránky</b></div>
      <td valign="top">
          <label for="pagename"> * Nový název stránky</label>
         </td><td valign="top">
          <input class="form-control" type="text" name="pagename" maxlength="15" size="30">
         </td>
         <td colspan="2" style="text-align:center">
          <center><input class="btn btn-primary" type="submit" value="Odeslat"></center>
         </td></div>
pcmanik
Profil
iTzCreepyCz:
Musíš to riešiť cez JavaScript - napríklad nejak takto.
<form id="title-change">
    <input type="text" id="title-new">
    <button type="submit">Odoslať</button>
<form>
document.getElementById('title-change').onsubmit = function() {
    document.title = document.getElementById('title-new').value;

    return false;
};
iTzCreepyCz
Profil
Nejde...
<?php
    ob_start();
    session_start();
    require_once 'dbconnect.php';
    
    if( !isset($_SESSION['user']) ) {
        header("Location: index.php");
        exit;
    }


    $res=mysql_query("SELECT * FROM users WHERE userId=".$_SESSION['user']);
    $userRow=mysql_fetch_array($res);
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250" />
<title>Creepos.eu - Admin</title>
<meta name="robots" content="noindex, nofollow">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="/css/bootstrap.min.css" rel="stylesheet" media="all">
<link rel="stylesheet" href="http://fontawesome.io/assets/font-awesome/css/font-awesome.css">
</head>
<style>
#footer {
    width: 85%;
    margin: 90px auto;
    padding: 10px;
    border: 0px solid;
}

.left {
    float: left;
}

.right {
    float: right;
}
</style>
<body>

    <nav class="navbar navbar-default navbar-fixed-top">
      <div class="container">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <a class="navbar-brand" href="index.php">Creepos.eu</a>
        </div>
        <div id="navbar" class="navbar-collapse collapse">
          <ul class="nav navbar-nav">
    <li><a href="index.php">Home</a></li>
      <li class="active" class="dropdown">
        <a class="dropdown-toggle" data-toggle="dropdown" href="#">Hlavní
        <span class="caret"></span></a>
        <ul class="dropdown-menu">
          <li class="active"><a href="page_name.php">Nastavení názvu stránky</a></li>
          <li><a href="#">Nastavení novinky</a></li>
          <li><a href="#">Nastavení stylů</a></li>
        </li></ul>
       <li class="dropdown">
        <a class="dropdown-toggle" data-toggle="dropdown" href="#">Uživatelé
        <span class="caret"></span></a>
        <ul class="dropdown-menu">
          <li><a href="#">Nastavení uživatelů</a></li>
          <li><a href="#">Seznam uživatelů</a></li>
      </div>
        </div><!--/.nav-collapse -->
      </div>
    </nav> 
<br><br>
    <div id="wrapper">

    <div class="container">
    
        <div class="page-header">
        <h3>Creepos.eu</h3>
        </div>
        
        <div class="row">
        <div class="col-lg-12">
        <div class="panel panel-primary">
      <div class="panel-heading">Upravit: <b>Název stránky</b></div>
<form id="title-change">
    <input type="text" id="title-new">
    <button type="submit">Odoslať</button>
</form></div>
        </div>
        </div></div>
    
    </div>
    </div>
    
<div id="footer">
        <div class="panel panel-primary">
        <p class="left">&nbsp;&copy; <a href="/"><?php echo $_SERVER['HTTP_HOST']; ?></a></p>
        <p class="right">Design & Code by <a href="http://creepos.eu">iTzCreepyCz</a>.&nbsp;</p>
        <div style="clear: both;"></div></div></div>
</body>
</html>
<script>
document.getElementById('title-change').onsubmit = function() {
    document.title = document.getElementById('title-new').value;
 
    return false;
};
<?php ob_end_flush(); ?>



Vyřešeno nebylo na konci </script>, ale jak to udělat na všech stránkách?
Alphard
Profil
Já ten problém pochopil jinak, není spíš cílem jednou to v administraci uložit a pak aby to bylo všude změněné? Tipuji podle vedlejšího vlákna.
Pak by nebyl potřeba javascript, ale ten odeslaný formulář by se musel uložit někam do databáze a pak načítat.
iTzCreepyCz
Profil
Právě.
Jak psal Alphard
tomas2245
Profil
Toto docieliš napr. týmto:

Potom si už len pomocou nejakého dotazu selectu zavoláš daný stĺpec s názvom stránky a vypíšeš do <title></title>

HTML:

<form action="#" method="POST">

<div class="panel panel-primary">
      <div class="panel-heading">Upravit: <b>Název stránky</b></div>
      <td valign="top">
          <label for="pagename"> * Nový název stránky</label>
         </td><td valign="top">
          <input class="form-control" type="text" name="pagename" maxlength="15" size="30">
         </td>
         <td colspan="2" style="text-align:center">
          <center><input class="btn btn-primary" type="submit" value="Odeslat" name="submit"></center>
         </td></div>

PHP:

<?php

if(isset($_POST['submit'])){

$pagename = $_POST['pagename'];

$uprav = mysql_query("UPDATE tabulka SET nazovstranky='$pagename'");

exit();

}

?>
iTzCreepyCz
Profil
Kod:
<?php
    ob_start();
    session_start();
    require_once 'db.php';
    
    // if session is not set this will redirect to login page
    if( !isset($_SESSION['user']) ) {
        header("Location: index.php");
        exit;
    }
    // select loggedin users detail
    $res=mysql_query("SELECT * FROM users WHERE userId=".$_SESSION['user']);
    $userRow=mysql_fetch_array($res);
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250" />
<title><?php echo "$pagename"; ?> - Main</title>
<meta name="robots" content="noindex, nofollow">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="/css/bootstrap.min.css" rel="stylesheet" media="all">
<link href="style.css" rel="stylesheet" media="all">
<link rel="stylesheet" href="http://fontawesome.io/assets/font-awesome/css/font-awesome.css">
</head>
<body>

    <nav class="navbar navbar-default navbar-fixed-top">
      <div class="container">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <a class="navbar-brand" href="home.php">Creepos.eu</a>
        </div>
        <div id="navbar" class="navbar-collapse collapse">
          <ul class="nav navbar-nav">
            <?php include ('navbar.php') ?>
          </ul>
          <ul class="nav navbar-nav navbar-right">
            
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
              <i class="fa fa-user-circle"></i> <?php echo $userRow['userName']; ?>&nbsp;<span class="caret"></span></a>
              <ul class="dropdown-menu">
                <li><a href="profile.php"><i class="fa fa-user"></i>&nbsp;Profil</a></li>
                <li><a href="logout.php?logout"><i class="fa fa-sign-out"></i>&nbsp;Odhlásit se</a></li>
              </ul>
            </li>
          </ul>
        </div><!--/.nav-collapse -->
      </div>
    </nav> 
<br><br>
    <div id="wrapper">

    <div class="container">
    
        <div class="page-header">
        <h3>Creepos.eu - Domů</h3>
        </div>
        
        <div class="row">
        <div class="col-lg-12">
        <form action="#" method="POST">
 
<div class="panel panel-primary">
      <div class="panel-heading">Upravit: <b>Název stránky</b></div>
      <td valign="top">
          <label for="pagename"> * Nový název stránky</label>
         </td><td valign="top">
          <input class="form-control" type="text" name="pagename" maxlength="15" size="30">
         </td>
         <td colspan="2" style="text-align:center">
          <center><input class="btn btn-primary" type="submit" value="Odeslat" name="submit"></center>
         </td></div>

<?php
 
if(isset($_POST['submit'])){
 
$pagename = $_POST['pagename'];
 
$uprav = mysql_query("UPDATE nastaveni SET nazovstranky='$pagename'");
 
exit();
 
}
 
?>
</div></div>
<?php include 'footer.php' ?>
</body>
</html>
<?php ob_end_flush(); ?>

Nefunguje..


Změní to v db, ale neukáže se to v headeru
pcmanik
Profil
iTzCreepyCz:
Bolo by fajn vytvoriť aj SELECT ktorý ten názov vytiahne z DB...
iTzCreepyCz
Profil
<?php mysql_query('SELECT nazovstranky FROM nastaveni'); ?>
Nejde...
Alphard
Profil
iTzCreepyCz:
Vypisuje se ti nějaká chyba, že nemáš definovanou proměnnou? Tento select samozřejmě nestačí, ten výsledek se musí uložit do nějaké proměnné a pak se musí vytáhnout třeba pomocí mysql_result.
Začni někde tady Základní kurz 5: Hledání a oprava chyb ve skriptu a pokračuj k dalším dílům.
iTzCreepyCz
Profil
Žádná chyba. jen se nezobrazí ten název
prntscr.com/ezt7in
Alphard
Profil
Okej, následuj můj odkaz v [#10] Alphard a nastav si server tak, aby ti zobrazoval chybové hlášky.
iTzCreepyCz
Profil
<?php include 'footer.php' ?>
<?php
ini_set("display_errors", 1);
error_reporting(E_ERROR | E_WARNING);
?>
Nic neukazuje
pcmanik
Profil
iTzCreepyCz:
Skús nám ušetriť čas a hlavne nervy a otvor si dokumentáciu k mysql_query. A ak to nepochopíš z príkladu čo tam majú tak to rovno zabaľ.
iTzCreepyCz
Profil
Když si tak chytrý, tak mi tu napiš ten kód. Budu rád :)
iTzCreepyCz
Profil
<?php mysql_query('SELECT 'nazovstranky' FROM 'nastaveni''); ?> ani nic podobného nejde...
pcmanik
Profil
iTzCreepyCz:
Tu je dokumentácia a v druhom priklade máš v komentári že máš použiť mysql_result.

Čiže vo výsledku je to takto:
$pageTitle = mysql_result(mysql_query("SELECT nazovstranky FROM nastaveni"));

Kód neošetruje chyby, je len ilustračný.
iTzCreepyCz
Profil
<title><?php $pagename = mysql_result(mysql_query("SELECT nazovstranky FROM nastaveni")); ?> - Main</title>
Nejde
tomas2245
Profil
<?php

$dotaz = mysql_query("SELECT nazovstranky FROM nastaveni");
$dotaz = mysql_fetch_array($dotaz);

?>

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250" />
<title><?php $dotaz['nazovstranky']; ?></title>
<meta name="robots" content="noindex, nofollow">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="/css/bootstrap.min.css" rel="stylesheet" media="all">
<link rel="stylesheet" href="http://fontawesome.io/assets/font-awesome/css/font-awesome.css">
</head>
pcmanik
Profil
iTzCreepyCz:
<title><?php echo mysql_result(mysql_query("SELECT nazovstranky FROM nastaveni")); ?> - Main</title>

A nauč sa prosím základy jazyka :) Lebo ti tu už nikdo nebude radiť, ak nevieš ani vypísať premennú.
iTzCreepyCz
Profil
Nejde mi ani jedno...
tomas2245
Profil
skus teraz
iTzCreepyCz
Profil
Pořád nejde.. :/


Vyřešené

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0