Get data van mysql DB > edit in text > update/save in mysql DB?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Danny T

Danny T

25/11/2013 15:36:45
Quote Anchor link
Hallo allemaal,

Naar aanleiding van mijn andere topic van vorig week heb ik nu weer wat tijd om aan de website te werken.
Helaas kom ik weer op een probleem wat het volgende is..

Ik heb nu een succesvol inlog systeem kunnen maken met een sessie erbij.
Na het inloggen wordt je redirected naar home.php waar de code is.
Je kunt zien dat je succesvol ben ingelogd en wie je bent.

Probleem:

Mijn probleem is dat ik wil dat degene die ingelogd is zeg maar de data van mysql die word opgevraagd via de get data functie de opgevraagde tekst ook kan bewerken in tekstvorm en niet in html/php code.
En na het bewerken ook de data kan opslaan zodat het word verwerkt in de database..

Iemand enig idee hoe ik dit zou kunnen aanpakken? :D

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
include('conn.php');
session_start();
if (!isset($_SESSION['member_id'])){
header('location:index.php');
}

//
?>

<a href="logout.php">logout</a>
<html>

<p>Log in succesvol </p>

</html>
</br>
<p>Bewerken</p>

<?php
            //get data from database.
            include("db.php");
            $sql = mysql_query("select text from content where element_id='1'");
            $row = mysql_fetch_array($sql);            
            echo $row['text'];
        ?>
    

</br>

</br>
</br>

<p> Ingelogd als:</p>
<?php
//login info

$result=mysql_query("select * from members where member_id='$member_id'")or die(mysql_error);
$row=mysql_fetch_array($result);

echo $FirstName." ".$LastName;
//ss
?>
Gewijzigd op 25/11/2013 15:59:48 door Danny T
 
PHP hulp

PHP hulp

07/05/2024 04:43:34
 
- Ariën  -
Beheerder

- Ariën -

25/11/2013 15:51:48
Quote Anchor link
Je wilt een texteditor hebben met knoppen? Zoals dit?

Als ik wat opmerkingen mag geven ove rje code:
- Zorg voor goede foutafhandeling op je query's
- Gebruik MySQLi of PDO. De MySQL-functies zullen geen jaren meer bestaan.
- Gebruik hoofdletters in je query's voor de MySQL-functies: dus SELECT.. FROM.. WHERE
- Kopieer niet onnodig variabelen. Regel 34, 39 en 40 zijn overbodig.
- session_start() alleen maar als eerste plaatsen, zonder dat er HTML of witruimte voor staat.
 
Kris Peeters

Kris Peeters

25/11/2013 15:55:23
Quote Anchor link
Danny T op 25/11/2013 15:36:45:
... dat degene die ingelogd is zeg maar de data van mysql die word opgevraagd via de get data functie de opgevraagde tekst ook kan bewerken in tekstvorm en niet in html/php code.
En na het bewerken ook de data kan opslaan zodat het word verwerkt in de database..


Wat je bedoelt met "get data functie" is me hier niet volledig duidelijk.
maar ja ...


Dit is wat je doet:

- Een gewone pagina leest data van een database, op basis van een id.
Dus je hebt een pagina met een url die er bv. zo uit ziet: index.php?p=kalender&id=15
Dit leest dus de gegevens van id=15, van de kalender items.

- Bij die pagina zet je een knop of link (Die knop is enkel zichtbaar als je ingelogd bent), met als link index.php?p=kalender&id=15&edit=1
Als dus $_GET['edit'] 1 is, print je de gegevens niet in de gewone <div> 's, maar in een <textarea> . Met een <form> omheen, en onderaan een UPDATE knop.

Merk trouwens op: dat formulier is met method="post". Niet met GET!!

-----

Danny T op 25/11/2013 15:36:45:
... opgevraagde tekst ook kan bewerken in tekstvorm en niet in html/php code. ...


Okay, ik ga er dus van uit dat de gegevens die aanpasbaar moeten zijn, in de database staan. Ja?
Precies op de zelfde manier waarop jij de data in de databese hebt gestoken, moeten de andere ingelogde gebruikers dat dus ook kunnen.

---
Nu ik zie dat je code gepost hebt, zal ik er naar kijken; eens zien of daaruit al iets kan worden afgeleid.
 
Danny T

Danny T

25/11/2013 16:00:19
Quote Anchor link
- Aar - op 25/11/2013 15:51:48:
Je wilt een texteditor hebben met knoppen? Zoals dit?

Als ik wat opmerkingen mag geven ove rje code:
- Zorg voor goede foutafhandeling op je query's
- Gebruik MySQLi of PDO. De MySQL-functies zullen geen jaren meer bestaan.
- Gebruik hoofdletters in je query's voor de MySQL-functies: dus SELECT.. FROM.. WHERE
- Kopieer niet onnodig variabelen. Regel 34, 39 en 40 zijn overbodig.
- session_start() alleen maar als eerste plaatsen, zonder dat er HTML of witruimte voor staat.


-Ja dat klopt! Zo ongeveer wil ik het hebben.
-Ik zal even kijken hoe het moet met die fouthandeling.
-Ik zal even lezen hoe dat met die mysqli functies zit.
-Weggehaald!
-Gewijzigd, is het nu goed hierzo?
-Hoofdletters voor code zoals ECHO bedoelt u toch?
Gewijzigd op 25/11/2013 16:02:06 door Danny T
 
- Ariën  -
Beheerder

- Ariën -

25/11/2013 16:02:35
Quote Anchor link
Je moet natuurlijk wel de juiste variabelen gebruiken. $FirstName bestaat niet, dus je zult $row['firstname'] moeten gebruiken.

Verder is de inbouw van TinyMCE als editor niet echt heel lastig. Een kwestie van de documentatie eens bekijken. Verder bedoelde ik de functies van MySQL: SELECT, FROM, WHERE. Niet van PHP. Op die manier blijft je query beter leesbaarder.
Gewijzigd op 25/11/2013 16:04:30 door - Ariën -
 
Danny T

Danny T

25/11/2013 16:33:08
Quote Anchor link
- Aar - op 25/11/2013 16:02:35:
Je moet natuurlijk wel de juiste variabelen gebruiken. $FirstName bestaat niet, dus je zult $row['firstname'] moeten gebruiken.

Verder is de inbouw van TinyMCE als editor niet echt heel lastig. Een kwestie van de documentatie eens bekijken. Verder bedoelde ik de functies van MySQL: SELECT, FROM, WHERE. Niet van PHP. Op die manier blijft je query beter leesbaarder.


Ik ben nu bezig met de punten die jij net noemde en ik had nog een vraag. Is het mogelijk om tinymce te kunnen activeren bij de tekst die word opgehaald door deze code?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
            //get data from database.
            include("db.php");
            $sql = mysql_query("select text from content where element_id='1'");
            $row = mysql_fetch_array($sql);            
            echo $row['text'];
        ?>
    
 
- Ariën  -
Beheerder

- Ariën -

25/11/2013 16:40:07
Quote Anchor link
Dat moet wel lukken al je o.a. hier eens kijkt. Het doet niets anders dan een <textarea> vervangen met de editor.
Gewijzigd op 25/11/2013 16:41:46 door - Ariën -
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.