Autor Zpráva
McBOY
Profil
Ahoj zkoušel jsem mnoho kódů ale ani jeden mi nešel. Chtěl bych na můj herní web dát administraci na přidávání příspěvků.
Předem díky McBOY.
okolojsoucí
Profil
Nikdy nenajdeš administraci ušitou přímo na míru tvému webu. Musíš si ji sám naprogramovat a tím i přizpůsobit.
McBOY
Profil
Fakt není nějaký návod?
okolojsoucí
Profil
Opravdu nic v rozumné míře co by opravdu bylo v praxi jsem nenašel. Ale když jsi si udělal frontend tak bys měl být schopný udělat i backend.
McBOY
Profil
No dívej já už sem něco měl ale vždy mi ukázalo ze nemůže najít databázi.
Díky McBOY.
Marschmallow
Profil
McBOY:
Doporučil bych ti Mnews CMS. Stažená verze je i češtině a nepotřebuje databázi, jen podporu PHP. Jednoduše si naincluduješ jednotlivé cásti do Tvé stránky (Tvého designu) a je hotovo :)
McBOY
Profil
o to mi teď nejde já už mám celý web aj toto akorát mi to nehodí do index.php ale do toho script.php a v databázi se konečně zapisuje :D


a jako já na redakční systémy nejsem :D


jo a s tím zapisování místo datumu mi píše jen rok a místo písemného nadpisu a článku píše 0.
Kód:
Tohle je v admin.php kde vkládám příspěvky?
<html>
<head>
<meta charset="UTF-8">
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />    
  <title>Přidávání příspěvků</title>
</head>
<body>
 
<form action="script.php" method="post">
  <input type="text" id="nazev" name="nazev" /><br />
  <textarea id="text" name="text"></textarea>
  <input type="submit" value="Odeslat!" />
</form>
 
</body>
</html>
A tohle ve script.php:
<!doctype html>
<html>
<head>
    <link href="styl.css" rel="stylesheet" type="text/css" />
    <link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title></title>
</head>
<body>
<?php
$spojeni = mysql_connect("localhost","anticraft","*********");
if (!$spojeni)
  {
  die('Nelze se spojit: ' . mysql_error());
  }
mysql_query("SET NAMES 'utf8'");
mysql_select_db("aktuality", $spojeni);
$sql="INSERT INTO aktuality (nadpis, clanek, datum)
VALUES
('$_POST[nazev]','$_POST[text]',NOW())";
 
if (!mysql_query($sql,$spojeni))
  {
  die('Chyba: ' . mysql_error());
  }
echo "přidáno";
 
mysql_close($spojeni)
?>
 
<?php
$spojeni = mysql_connect("localhost","anticraft","*******");
if (!$spojeni)
  {
  die('Nelze se spojit: ' . mysql_error());
  }
mysql_query("SET NAMES 'utf8'");
 
mysql_select_db("aktuality", $spojeni);
$vypis = mysql_query("SELECT * FROM aktuality ORDER BY datum DESC");
echo "<table border='1'>
<tr>
<th>název</th>
<th>článek</th>
<th>datum</th>
</tr>";
while($row = mysql_fetch_array($vypis))
  {
  echo "<div id="\clanek\">";
  echo "<h1>" . $row['nadpis'] . "</h1>";
  echo "<p>" . $row['clanek'] . "</p>";
  echo "<br /><br />" . $row['datum'];
  echo "</div>";
  }
mysql_close($spojeni);
?>
</body>
</html>
okolojsoucí
Profil
Jakého datového typu nabývá v databázi aktuality řádek datum?

V produkční verzi je nežádoucí vypisovat chyby typu mysql_error(); řešil bych to na principu Nette -> Zapíše do logu / odešle emailem, uživateli ukáže chybu že požadavek nešel vykonat.

Odděl jsi scripty které ti něco vypisují a které ti dělají nějaké akce, zdá se mi že script.php vypisuje ale i zároveň ukládá.
CZghost
Profil
McBOY:
Malá rada: NIKDY nevkládej do příspěvků heslo na databázi, nikdy nevíš, kolik se najde hyen, který to zneužijou. Nahraď heslo třeba puntíkama, ale aby nebylo vidět... Teda jestli jsem správně pochopil, že anticraft je heslo do tvé databáze...
Fisir
Profil
Reaguji na CZghosta:
Když si klikneš na mysql_connect, zjistíš, že heslo je až třetí parametr.
CZghost
Profil
Pardon, má chyba :D
juriad
Profil
Mimochodem, nelíbí se mi 49. řádek. Jedno zpětné lomítko je na špatném místě.
McBOY
Profil
Můj problém je teď ze se mi ten příspěvek nedá do novinek ale je jen v databázi.


Juriad a jak by to mělo být?
Micruss
Profil
echo "<div id="\clanek\">"; ....

má to být takto echo "<div id=\"clanek\">"; to lomítko musí bejt před uvozovkami \"
McBOY
Profil
Ok a teď aby se mi to zapsalo v index.html do <div id="novinky"></div>
Fisir
Profil
Reaguji na McBoye:
Práce a zakázky. Nikdo ti tu nebude psát celé kódy, když neprojevíš vlastní iniciativu. Všichni, co tu radí to dělají zadarmo a ve svém volném čase (případně při nudné hodině). Jestli chceš radu, popiš, co jsi vyzkoušel a jakou to aktuálně hlásí chybu nebo co to dělá špatně. Poradím ti, že v souboru s příponou .html to fungovat nebude, musíš ji přepsat na .php. Pak si zkus napsat nějaký kód na výpis a když nebude fungovat, tak ho sem pošli. Pak ti rádi poradíme ;-).
McBOY
Profil
ja s php moc né dělal to kámoš a normálě funguje akorát to chcu aby to s té databázé házelo v index.php do <div id="novinky"> aby to tam házelo ty věci které jsou v databázi.
okolojsoucí
Profil
Tak si to udělej, zkus projet témata týkající se PHP a MySQL a slep si tu návody.
McBOY
Profil
prosím pomocte:
ja s php moc né dělal to kámoš a normálě funguje akorát to chcu aby to s té databázé házelo v index.php do <div id="novinky"> aby to tam házelo ty věci které jsou v databázi.
Kcko
Profil
McBOY:
To už jsi psal v [#17] co potrebuješ vědět dál? Odpověd jsi dostal v [#16] a [#18]
Chápeš kontext?
McBOY
Profil
Jo chápu ale ja jsem tak blbej že to bez pomoci nezvládnu no prostě nemůžete mi něják pomoct? Prosím :D
Fisir
Profil
Reaguji na McBoye:
Můžeme, ale neuděláme to za tebe. Takže, co ti nejde a co jsi prozatím slepil (klidně i nefunkční)?
McBOY
Profil
Ok!
Mám admin.php kde vkládám název a příspěvky normálně funguje. Funkční!
Kód:
<html>
<head>
<meta charset="UTF-8">
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />    
  <title>Přidávání příspěvků</title>
</head>
<body>
 
<form action="script.php" method="post">
  <input type="text" id="nazev" name="nazev" /><br />
  <textarea id="text" name="text"></textarea>
  <input type="submit" value="Odeslat!" />
</form>
 
</body>
</html>
A potom teda script.php který to zapisuje do databáze. Funkční!
Kód:
<!doctype html>
<html>
<head>
    <link href="styl.css" rel="stylesheet" type="text/css" />
    <link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title></title>
</head>
<body>
<?php
$spojeni = mysql_connect("localhost","anticraft","*********");
if (!$spojeni)
  {
  die('Nelze se spojit: ' . mysql_error());
  }
mysql_query("SET NAMES 'utf8'");
mysql_select_db("aktuality", $spojeni);
$sql="INSERT INTO aktuality (nadpis, clanek, datum)
VALUES
('$_POST[nazev]','$_POST[text]',NOW())";
 
if (!mysql_query($sql,$spojeni))
  {
  die('Chyba: ' . mysql_error());
  }
echo "přidáno";
 
mysql_close($spojeni)
?>
 
<?php
$spojeni = mysql_connect("localhost","anticraft","*******");
if (!$spojeni)
  {
  die('Nelze se spojit: ' . mysql_error());
  }
mysql_query("SET NAMES 'utf8'");
 
mysql_select_db("aktuality", $spojeni);
$vypis = mysql_query("SELECT * FROM aktuality ORDER BY datum DESC");
echo "<table border='1'>
<tr>
<th>název</th>
<th>článek</th>
<th>datum</th>
</tr>";
while($row = mysql_fetch_array($vypis))
  {
  echo "<div id="\clanek\">";
  echo "<h1>" . $row['nadpis'] . "</h1>";
  echo "<p>" . $row['clanek'] . "</p>";
  echo "<br /><br />" . $row['datum'];
  echo "</div>";
  }
mysql_close($spojeni);
?>
</body>
</html>
A teď bych potřeboval aby se to s té databáze zapisovalo do index.php do <div id="novinky"></div>
To je co potřebuji a co mo nejde. Zatím Nemám!
jenikkozak
Profil
Odstraň ze skript.php řádky 28-39. Nemá smysl se odpojovat od databáze, aby ses záhy opět připojil.
okolojsoucí
Profil
McBOY:
zapisovalo do index.php do <div id="novinky"></div>
Spíše vypisoval

A nemáš tento kód náhodou tady?
$vypis = mysql_query("SELECT * FROM aktuality ORDER BY datum DESC");
echo "<table border='1'>
<tr>
<th>název</th>
<th>článek</th>
<th>datum</th>
</tr>";
while($row = mysql_fetch_array($vypis))
  {
  echo "<div id="\clanek\">";
  echo "<h1>" . $row['nadpis'] . "</h1>";
  echo "<p>" . $row['clanek'] . "</p>";
  echo "<br /><br />" . $row['datum'];
  echo "</div>";
  }
McBOY
Profil
Reaguji na jenikkozak
Ok. Ale stejne to tam nebude :D.

Reaguji na okolojsoucí
Moc díky.
McBOY
Profil
Děkuji moc už to funguje :D
Toto téma je uzamčeno. Odpověď nelze zaslat.