Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Edytuj News w SYSTEMIE NEWSÓW OPARTYCH O BAZĘ DANYCH
nansss
post
Post #1





Grupa: Zablokowani
Postów: 79
Pomógł: 0
Dołączył: 1.03.2009

Ostrzeżenie: (20%)
X----


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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
b4x
post
Post #2





Grupa: Zarejestrowani
Postów: 658
Pomógł: 95
Dołączył: 20.12.2005
Skąd: N54,35° E18,63° (Gdańsk)

Ostrzeżenie: (0%)
-----


  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 ?

Ten post edytował b4x 27.03.2009, 21:04:18


--------------------
Go to the top of the page
+Quote Post
nansss
post
Post #3





Grupa: Zablokowani
Postów: 79
Pomógł: 0
Dołączył: 1.03.2009

Ostrzeżenie: (20%)
X----


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

Ten post edytował nansss 27.03.2009, 21:06:53
Go to the top of the page
+Quote Post
b4x
post
Post #4





Grupa: Zarejestrowani
Postów: 658
Pomógł: 95
Dołączył: 20.12.2005
Skąd: N54,35° E18,63° (Gdańsk)

Ostrzeżenie: (0%)
-----


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

Ten post edytował b4x 27.03.2009, 21:20:20


--------------------
Go to the top of the page
+Quote Post
nansss
post
Post #5





Grupa: Zablokowani
Postów: 79
Pomógł: 0
Dołączył: 1.03.2009

Ostrzeżenie: (20%)
X----


-- 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
Go to the top of the page
+Quote Post
b4x
post
Post #6





Grupa: Zarejestrowani
Postów: 658
Pomógł: 95
Dołączył: 20.12.2005
Skąd: N54,35° E18,63° (Gdańsk)

Ostrzeżenie: (0%)
-----


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


--------------------
Go to the top of the page
+Quote Post
nansss
post
Post #7





Grupa: Zablokowani
Postów: 79
Pomógł: 0
Dołączył: 1.03.2009

Ostrzeżenie: (20%)
X----


Da się tak smile.gif To jak mam to zrobić?
Go to the top of the page
+Quote Post
b4x
post
Post #8





Grupa: Zarejestrowani
Postów: 658
Pomógł: 95
Dołączył: 20.12.2005
Skąd: N54,35° E18,63° (Gdańsk)

Ostrzeżenie: (0%)
-----


Mniejsza już o to winksmiley.jpg Działa Ci to co wcześniej podałem w poście nr. 4 ? winksmiley.jpg


--------------------
Go to the top of the page
+Quote Post
nansss
post
Post #9





Grupa: Zablokowani
Postów: 79
Pomógł: 0
Dołączył: 1.03.2009

Ostrzeżenie: (20%)
X----


Wyskoczył błąd:

Unknown MySQL server host '0osemkapl' (1)
Go to the top of the page
+Quote Post
b4x
post
Post #10





Grupa: Zarejestrowani
Postów: 658
Pomógł: 95
Dołączył: 20.12.2005
Skąd: N54,35° E18,63° (Gdańsk)

Ostrzeżenie: (0%)
-----


Nie istnieje taki host smile.gif - jesteś pewien że on wygląda "0osemkapl" ? smile.gif

Ps. zmień tag tematu winksmiley.jpg

Ten post edytował b4x 27.03.2009, 21:49:29


--------------------
Go to the top of the page
+Quote Post
nansss
post
Post #11





Grupa: Zablokowani
Postów: 79
Pomógł: 0
Dołączył: 1.03.2009

Ostrzeżenie: (20%)
X----


Właśnie wiem
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 06:31