Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Edytuj News w SYSTEMIE NEWSÓW OPARTYCH O BAZĘ DANYCH
Forum PHP.pl > Forum > Przedszkole
nansss
Witam,
W PHP nie siedzę długo i pojawił się pewien problem. Popytałem tu i tam, ale nie odpowiedzieli mi do końca, więc zgłaszam się tutaj biggrin.gif
Mam następujący kod. Podpowiedzieli mi żebym przerobił z dodaj news, ale nie działa:

  1. <?php
  2. ?php
  3. function connect_db()
  4. {
  5.    mysql_connect("host", "nazwa użytkownika", "hasło") or die(mysql_error());
  6.    mysql_select_db("nazwa bazy danych") or die(mysql_error());
  7. }
  8.  
  9. if($_SESSION['haslo']=="tutaj znajduje się hasło")
  10. {
  11.    if($_POST['news']==NULL)
  12.    {
  13.            echo '
  14.            <form action="edytujnews.php" method="post">
  15.                  <br><br><input type="text" name="tytul" value="$tytul" size="20">
  16.                  <br>
  17.                  <textarea name="news" cols="20" rows="20">$news</textarea>
  18.                  <br>
  19.                  <input type="submit" value="Zapisz">
  20.                  <input type="reset" value="Wyczy&#x15B;&#x107;"><br>
  21.                  </form>
  22.        
  23.            ';
  24.    }
  25.    
  26.    else
  27.    {
  28.        $news = $_POST['news'];
  29.        $tytul = $_POST['tytul'];
  30.        $data = date('Y-m-d');
  31.        connect_db();
  32.        mysql_query ("SET NAMES latin2");
  33.        mysql_query("UPDATE `aktualnosci` (`news`,`tytul`,`data`) VALUES ('".$news."','".$tytul."','".$data."') ") or die(mysql_error());
  34.    
  35.    }  
  36.  
  37. }
  38.  
  39.  
  40. ?>

Co tutaj jest źle zrobione?
b4x
  1. <?php
  2.           <form action="edytujnews.php" method="post">
  3.                 <br><br><input type="text" name="tytul" value="$tytul" size="20">
  4.                 <br>
  5.                 <textarea name="news" cols="20" rows="20">$news</textarea>
  6.                 <br>
  7.                 <input type="submit" value="Zapisz">
  8.                 <input type="reset" value="Wyczy&#x15B;&#x107;"><br>
  9.                 </form>
  10.      
  11.           ';
  12. ?>


na

  1. <?php
  2.           <form action="edytujnews.php" method="post">
  3.                 <br><br><input type="text" name="tytul" value="'.$tytul.'" size="20">
  4.                 <br>
  5.                 <textarea name="news" cols="20" rows="20">'.$news.'</textarea>
  6.                 <br>
  7.                 <input type="submit" value="Zapisz">
  8.                 <input type="reset" value="Wyczy&#x15B;&#x107;"><br>
  9.                 </form>
  10.      
  11.           ';
  12. ?>



#zresztą przekazujesz jakos te $tytul, $news wcześniej, poza tym - chcesz wszystkie newsy na takie same ?
nansss
Naciskając na odnośnik EDYTUJ w ogóle odświeża tylko stronę

Ja chcę każdy news osobno edytować tak jak przez bazę danych

EDIT: A jak wrzuciłem to na inną stronę na której jak klikam edytuj pokazuje się formularz to w nim puste pola
b4x
Podaj strukturę bazy `aktualnosci`.


Załóżmy że masz jeszcze tam coś takiego jak `id` newsa winksmiley.jpg


  1. <?php
  2.  
  3.  
  4.    function connect_db($host, $user, $haslo, $baza) {
  5.  
  6.        mysql_connect($host, $user, $haslo) or die(mysql_error());
  7.        mysql_select_db($baza) or die(mysql_error());
  8.        mysql_query ("SET NAMES latin2");
  9.  
  10.    }
  11.  
  12.    function PobierzNewsa($id) {
  13.  
  14.        return mysql_fetch_array(mysql_query('SELECT * FROM `aktualnosci` WHERE `id` = "'.$id.'" LIMIT 1'));
  15.  
  16.    }
  17.  
  18.    connect_db('host', 'nazwa użytkownika', 'hasło', 'nazwa bazy danych');
  19.  
  20.  
  21.    if($_SESSION['haslo'] == "tutaj znajduje się hasło") {
  22.  
  23.    
  24.        if($_POST['news'] == NULL && isset($_GET['id'])) {
  25.  
  26.            $dane = PobierzNewsa($_GET['id']);
  27.  
  28.            echo '
  29.                <form action="edytujnews.php" method="post">
  30.                    <br><br><input type="text" name="tytul" value="'.$dane['tytul'].'" size="20">
  31.                    <br>
  32.                    <textarea name="news" cols="20" rows="20">'.$dane['news'].'</textarea>
  33.                    <br>
  34.                    <input type="hidden" name="id" value="'.$dane['id'].'">
  35.                    <input type="submit" value="Zapisz">
  36.                    <input type="reset" value="Wyczy&#x15B;&#x107;"><br>
  37.                </form>';
  38.  
  39.        }
  40.  
  41.  
  42.        if(!empty($_POST['news']) && !empty($_POST['tytul'])) {
  43.  
  44.            
  45.                mysql_query ('UPDATE `aktualnosci` SET `news` = "'.$_POST['news'].'", `tytul` = "'.$_POST['tytul'].'", `data` = "'.date('Y-m-d').'" WHERE `id` = "'.$_POST['id'].'"');
  46.            
  47.                echo 'News o id: <strong>'.$_POST['id'].'</strong> zostal poprawnie zaktualizowany.';
  48.  
  49.        }
  50.  
  51.    }
  52. ?>



Wtedy jak robiłeś np. edytujnews.php to zróbć edytujnews.php?id=TUTAJIDNEWSA smile.gif
nansss
-- phpMyAdmin SQL Dump
-- version 2.11.8.1
-- http://www.phpmyadmin.net
--

-- Czas wygenerowania: 27 Mar 2009, 21:19
-- Wersja serwera: 5.0.67
-- Wersja PHP: 5.2.5

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--

--

-- --------------------------------------------------------

--
-- Struktura tabeli dla `aktualnosci`
--

CREATE TABLE IF NOT EXISTS `aktualnosci` (
`id` int(10) unsigned NOT NULL auto_increment,
`news` varchar(20000) collate utf8_polish_ci NOT NULL,
`data` varchar(30) collate utf8_polish_ci NOT NULL,
`tytul` varchar(200) collate utf8_polish_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci AUTO_INCREMENT=22 ;

--
-- Zrzut danych tabeli `aktualnosci`
--

INSERT INTO `aktualnosci` (`id`, `news`, `data`, `tytul`) VALUES
b4x
Ps. "`news` varchar(20000) collate utf8_polish_ci NOT NULL," - co to ma być varchar(20000) - to tak się da ? ;D lepiej LONGTEXT winksmiley.jpg
nansss
Da się tak smile.gif To jak mam to zrobić?
b4x
Mniejsza już o to winksmiley.jpg Działa Ci to co wcześniej podałem w poście nr. 4 ? winksmiley.jpg
nansss
Wyskoczył błąd:

Unknown MySQL server host '0osemkapl' (1)
b4x
Nie istnieje taki host smile.gif - jesteś pewien że on wygląda "0osemkapl" ? smile.gif

Ps. zmień tag tematu winksmiley.jpg
nansss
Właśnie wiem
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.