Tekst laden in input textfield!

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ad

Ad

13/12/2006 11:50:00
Quote Anchor link
Hallo, ik ben bezig met een mini-cms. Ik wil alleen dat het mogelijk is om teksten te wijzigen. Geen links toevoegen of wat dan ook, alles staat vast behalve de inhoud-tekst.

Mijn database ziet er zo uit:

2 tabellen:

hoofdgroepen: (hier zitten 6 hoofdgroepen in, waar weer pagina's onder verdeelt zitten.. dit zit in tabel pagina)
-groep_id
-omschrijving

pagina: (hier zitten de 22 pagina's in)
-pagina_id
-omschrijving (naam van de pagina)
-tekst (de tekst op de pagina)
-groep_id (nummer van in welke hoofdgroep hij zit 1,2,3,4,5 of 6)

Nu heb ik 3 bestandjes:
connect.php (maakt connectie met database)
wijzig.php (verwerkt het en wijzigt de inhoud)
wijziginhoud.php (dropdownmenu met alle pagina's plus inputveld)

Dit werkt allemaal prima maar nu moet ik de hele inhoud opnieuw intypen als ik dit wil wijzigen. Wat ik wil is dus wanneer je een pagina selecteert uit het dropdown-menu dat de huidige tekst in het input tekstveld komt zodat je het echt kan wijzigen ipv opnieuw te tikken.

Zo heb ik het (wijziginhoud.php):

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
<form name="wijzig_inhoud" action="wijzig.php" method="post">
Selecteer pagina:
<select name="pagina">
<?php
include "connect.php";
$query = "SELECT * FROM `pagina`";
$sql = mysql_query($query);
while($record = mysql_fetch_object($sql))
{

    echo"<option value=".$record->pagina_id.">".$record->omschrijving."</option>";
}

?>

</select>
Nieuwe inhoud:
<input type="text"  name="nieuwe_inhoud"
<?php
$query
= "SELECT * FROM `pagina`";
$sql = mysql_query($query) or die ( mysql_error( ) );
while($record = mysql_fetch_object($sql)){
echo"$record->omschrijving";
}

?>
>
<input type="submit" name="submit" value="Wijzigen">
</form>

Wil iemand mij hier mee helpen? Als je nog meer info nodig hebt zeg je het maar.

Mod-edit::
code tags toegevoegd
Gewijzigd op 01/01/1970 01:00:00 door Ad
 
PHP hulp

PHP hulp

15/05/2024 04:17:03
 
Terence Hersbach

Terence Hersbach

13/12/2006 11:55:00
Quote Anchor link
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
<form name="wijzig_inhoud" action="wijzig.php" method="post">
Selecteer pagina:
<select name="pagina">
<?php
include "connect.php";
$query = "SELECT * FROM pagina";
$sql = mysql_query($query);
while($record = mysql_fetch_object($sql))
{

    echo "<option value=".$record->pagina_id.">".$record->omschrijving."</option>";
}

?>

</select>
Nieuwe inhoud:
<textarea cols="50" rows="10">
<?php
$query
= "SELECT * FROM pagina";
$sql = mysql_query($query) or die ( mysql_error( ) );
while($record = mysql_fetch_object($sql)){
echo $record->omschrijving;
}

?>
</textarea>
<input type="submit" name="submit" value="Wijzigen">
</form>

zo zou hij moeten werken ;)

offtopic: probeer geen `backticks` te gebruiken in je sql regels en als je alleen een $var moet echo'en, hoeven er geen "dubbele quotes" omheen ;)
Gewijzigd op 01/01/1970 01:00:00 door Terence Hersbach
 
Ad

Ad

13/12/2006 12:03:00
Quote Anchor link
Bedankt voor je snelle reactie. Hij doet het nu inderdaad, alleen geeft hij de inhoud van álle pagina's in één tekstfield.
De bedoeling was dus wanneer je een pagina selecteerd, de tekst verschijnt in het tekstveld.

Misschien is dat iets te hoog gegrepen voor mij op dit moment. Misschien is het zo makkelijker?:
Een link naar een andere pagina bijv: wijzigpagina1.php en daar een tekstveld met de inhoud plus knop met wijzigen.
Het is niet mijn bedoeling om kant en klare scripts te ontvangen, sorry daarvoor, maar ik kom er echt even niet uit. Kon er ook geen tutorial over vinden :s.
Gewijzigd op 01/01/1970 01:00:00 door Ad
 
Ad

Ad

13/12/2006 15:58:00
Quote Anchor link
Ik ben iets verder gekomen..

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
<form name="wijzig_inhoud" action="wijzig.php" method="post">
Pagina:
<select name="pagina">
<?php
include "connect.php";
$query = "SELECT * FROM pagina WHERE pagina_id = 5";
$sql = mysql_query($query);
while($record = mysql_fetch_object($sql))
{

    echo "<option value=".$record->pagina_id.">".$record->omschrijving."</option>";
}

?>

</select>
Nieuwe inhoud:
<input type="text"  name="nieuwe_inhoud"
<?php
$query
= "SELECT * FROM pagina WHERE pagina_id = 5";
$sql = mysql_query($query) or die ( mysql_error( ) );
while($record = mysql_fetch_object($sql)){
echo "$record->tekst";
}

?>
>
<input type="submit" name="submit" value="Wijzigen">
</form>


Nu wil ik dus dat de tekst van één pagina verschijnt, maar vreemd genoeg doet hij dat niet. Weet iemand misschien wat er niet klopt?
Bedankt.
 
Paul

Paul

13/12/2006 16:16:00
Quote Anchor link
Bestaat er sowieso wel een pagina met de ID 5?
Want als het goed is krijg je nu 1 optie te zien in je drop down menu?
 
Ad

Ad

13/12/2006 16:26:00
Quote Anchor link
Ja één optie met de pagina die op 5 zit. Ik wilde hem eerst eens bewerken met een pagina.
Gewijzigd op 01/01/1970 01:00:00 door Ad
 
Ad

Ad

13/12/2006 16:41:00
Quote Anchor link
Sorry ik ben niet compleet geweest. Dit zijn de twee bestanden die ik nu heb gemaakt:

wijziginhoud.php
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
<form name="wijzig_inhoud" action="wijzig.php" method="post">
Pagina:
<select name="pagina">
<?php
include "connect.php";
$query = "SELECT * FROM pagina WHERE pagina_id = 5";
$sql = mysql_query($query);
while($record = mysql_fetch_object($sql))
{

    echo "<option value=".$record->pagina_id.">".$record->omschrijving."</option>";
}

?>

</select>
Nieuwe inhoud:
<textarea cols="50" rows="10">
<?php
$query
= "SELECT * FROM pagina WHERE pagina_id = 5";
$sql = mysql_query($query) or die ( mysql_error( ) );
while($record = mysql_fetch_object($sql)){
echo $record->tekst;
}

?>
</textarea>
<input type="submit" name="submit" value="Wijzigen">
</form>


En wijzig.php
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
<?php
include "connect.php";
if($_POST['submit'])
{

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

$query = "UPDATE `pagina` SET `tekst` = '".$_POST['nieuwe_inhoud']."' WHERE `pagina_id` = '".$_POST['pagina']."'";
$sql = mysql_query($query) or die(mysql_error());
print("Nieuwe inhoud is ".$_POST['nieuwe_inhoud']."");
}

else
{
print("Niets gewijzigd!");
}
}

else
{
?>

<form name="wijzig_inhoud" action="wijzig.php" method="post">
Selecteer pagina:
<select name="pagina">
<?php
$query
= "SELECT * FROM `pagina`";
$sql = mysql_query($query);
while($record = mysql_fetch_object($sql))
{

echo"<option value = $record->pagina_id>".$record->omschrijving."</option>";
}

?>

</select>
Nieuwe inhoud:
<input type="text" name="nieuwe_inhoud">
<input type="submit" name="submit" value="Aanpassen">
</form>
<?php } ?>


En nog connect.php maar die is goed.

Nu gebeurd er:
Tekst komt inmiddels in het vlak! :)
Maar druk ik nu op wijzig komt er te staan "niets gewijzigd"!
 
Paul

Paul

13/12/2006 16:47:00
Quote Anchor link
Omdat je $_POST['nieuwe_inhoud'] nergens hebt laten verzenden in de eerste pagina geeft hij "Niets gewijzigd!"

Krijg je resultaat als je dit op wijzig.php doet:
echo"$_POST['nieuwe_inhoud']"; of iets degelijks, ik tik het even uit mijn hoofd. Maar probeer het even te echo-en om te testen of hij wel doorkomt want volgens mij doe je er in de eerste pagina niks mee.
 
Ad

Ad

13/12/2006 16:52:00
Quote Anchor link
Ah, je hebt gelijk. Er komt niets te staan wanneer ik dat typ onder echo niets gewijzigd.

Waar zou ik dat moeten verzenden? :$
 
GaMer B

GaMer B

13/12/2006 16:52:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
while($record = mysql_fetch_object($sql))
{

echo"<option value = $record->pagina_id>".$record->omschrijving."</option>";
}

?>

Nu doe je wéér $record->pagina_id in een string zetten. Exclude die eens van de string.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
while($record = mysql_fetch_object($sql))
{

echo"<option value = "$record->pagina_id">".$record->omschrijving."</option>";
}

?>
Gewijzigd op 01/01/1970 01:00:00 door GaMer B
 
Paul

Paul

13/12/2006 16:55:00
Quote Anchor link
En wat dacht je van deze accolades: `pagina` dat klopt ook niet echt.
 
Ad

Ad

13/12/2006 16:57:00
Quote Anchor link
Oh, dat werd in de tutorial die ik gevolgd heb ook steeds gedaan :s.
 
GaMer B

GaMer B

13/12/2006 16:57:00
Quote Anchor link
Paul schreef op 13.12.2006 16:55:
En wat dacht je van deze accolades: `pagina` dat klopt ook niet echt.

Kloppen, kloppen.. Nja, het beste is om die weg te houden, maar het werkt wel.
 
Ad

Ad

13/12/2006 17:05:00
Quote Anchor link
Maar, Flip van Rijn, wanneer ik er accolades bij zet krijg ik een Parse error.

Alles werkt dus eigenlijk, maar ik moet $_POST['nieuwe_inhoud'] dus nog meegeven aan wijzig.php
 



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.