weergave problemen van waardes.
dit lukt mij aardig, echter heb ik toch nog enkele problemen.
ik werk nu aan een mogelijkheid voor het aanpassen van het nieuws door de admin. echter het script hieronder (wat een gedeelte is) werkt niet goed. Alleen de naam wordt zichtbaar gemaakt. de rest geeft geen waarde op de pagina. op de gewone nieuwspagina geeft die pagina het echter wel.
heeft één van jullie toevallig een idee wat ik moet verranderen om het werkend te krijgen.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$db= mysql_connect("localhost","**********","*********");
mysql_select_db("************",$db);
$id=$_GET['id'];
$sql=("SELECT * FROM nieuwsinfo WHERE id='$id'");
$res=mysql_query($sql, $db);
while ($regel = mysql_fetch_object ($res))
$naam = $regel->naam;
$email = $regel["email"];
$soortnieuws = $regel->soortnieuws;
$nieuws = $regel->nieuws;
print ($naam);
print ($email);
print ($soortnieuws);
print ($naamnieuws);
?>
$db= mysql_connect("localhost","**********","*********");
mysql_select_db("************",$db);
$id=$_GET['id'];
$sql=("SELECT * FROM nieuwsinfo WHERE id='$id'");
$res=mysql_query($sql, $db);
while ($regel = mysql_fetch_object ($res))
$naam = $regel->naam;
$email = $regel["email"];
$soortnieuws = $regel->soortnieuws;
$nieuws = $regel->nieuws;
print ($naam);
print ($email);
print ($soortnieuws);
print ($naamnieuws);
?>
Gewijzigd op 10/12/2005 13:23:00 door Maarten
Beter zo:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$db= mysql_connect("localhost","**********","*********");
mysql_select_db("************",$db);
$id=$_GET['id'];
$sql=("SELECT * FROM nieuwsinfo WHERE id='$id'");
$res=mysql_query($sql, $db);
while ($regel = mysql_fetch_object ($res)) {
$naam = $regel->naam;
$email = $regel['email'];
$soortnieuws = $regel->soortnieuws;
$nieuws = $regel->nieuws;
echo '<p>'.$naam.'<p>';
echo '<p>'.$email.'<p>';
echo '<p>'.$soortnieuws.'<p>';
echo '<p>'.$nieuws.'<p>';
}
?>
$db= mysql_connect("localhost","**********","*********");
mysql_select_db("************",$db);
$id=$_GET['id'];
$sql=("SELECT * FROM nieuwsinfo WHERE id='$id'");
$res=mysql_query($sql, $db);
while ($regel = mysql_fetch_object ($res)) {
$naam = $regel->naam;
$email = $regel['email'];
$soortnieuws = $regel->soortnieuws;
$nieuws = $regel->nieuws;
echo '<p>'.$naam.'<p>';
echo '<p>'.$email.'<p>';
echo '<p>'.$soortnieuws.'<p>';
echo '<p>'.$nieuws.'<p>';
}
?>
bedankt
En natuurlijk inspringen voor de overzicht ;)
wel ben ik op een nieuw probleem gestuit. het stukje code hierboven staat uitgebreider in textfields zodat de gebruiker deze kan aanpassen. vervolgens wordt het formulier gesubmit. Dit formulier bevat alle waarden, inclusief id (nu voor testen gewoon zichtbaar als textfield door de code:
<input type="text" naam="id" value="">
In een ander bestand(verwerkedit.php) wordt deze verwerkt en worden alle waarden in de database gestopt.
nu heb ik zoveel mogelijk gecontrolleerd. maar toch werkt het niet helemaal. Alle waarde worden gewoon doorgegeven ($naam,$email, etc.) behalve id. deze wordt niet herkent of zo. Mijn browser geeft op de pagina de foutmelding:
Notice: Undefined variable: id in /home/virtual/site44/fst/var/www/html/verwerkedit.php on line 33
op deze plek staat de regel voor het updaten van de variabelen. deze ziet er als volgt uit:
Code (php)
1
2
3
2
3
<?php
"UPDATE nieuwsinfo SET ddag ='$ddag', dmaand = '$dmaand', djaar = '$djaar', nieuws='$nieuws', soortnieuws='$soortnieuws', naam='$naam', email='$email', goedkeuring='$goedkeuringsgroep' WHERE id='$id'"
?>
"UPDATE nieuwsinfo SET ddag ='$ddag', dmaand = '$dmaand', djaar = '$djaar', nieuws='$nieuws', soortnieuws='$soortnieuws', naam='$naam', email='$email', goedkeuring='$goedkeuringsgroep' WHERE id='$id'"
?>
heeft één van jullie een idee wat ik moet verranderen?
Gewijzigd op 10/12/2005 13:24:00 door Maarten
Zet de code van je formulier hier ook even bij, wellicht zit daar een probleempje in.
<head><title>edit nieuwsform</title><head>
<body>
<form method="post" action="verwerkedit.php">
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$db= mysql_connect("localhost","****","*****");
mysql_select_db("*********_nl_-_nieuws",$db);
$id=$_GET['id'];
$sql=("SELECT * FROM nieuwsinfo WHERE id='$id'");
$res=mysql_query($sql, $db);
while ($regel = mysql_fetch_object ($res)) {
$naam = $regel->naam;
$email = $regel->email;
$soortnieuws = $regel->soortnieuws;
$nieuws = $regel->nieuws;
$ddag = $regel->ddag;
$dmaand = $regel->dmaand;
$djaar = $regel->djaar;
$goedkeuring = $regel->goedkeuring;
}
?>
$db= mysql_connect("localhost","****","*****");
mysql_select_db("*********_nl_-_nieuws",$db);
$id=$_GET['id'];
$sql=("SELECT * FROM nieuwsinfo WHERE id='$id'");
$res=mysql_query($sql, $db);
while ($regel = mysql_fetch_object ($res)) {
$naam = $regel->naam;
$email = $regel->email;
$soortnieuws = $regel->soortnieuws;
$nieuws = $regel->nieuws;
$ddag = $regel->ddag;
$dmaand = $regel->dmaand;
$djaar = $regel->djaar;
$goedkeuring = $regel->goedkeuring;
}
?>
<form method="get" action="verwerkedit.php">
<input type="text" naam="id" value="">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Naam :</td>
<td><input type="text" name="naam" value=""></td>
</tr>
<tr>
<td>E-mail :</td>
<td><input type="email" name="email" value=""></td>
</tr>
<tr>
<td>datum, losse(voor verwerking)(d-m-y):</td>
<td><input type="text" name="ddag" value="">-<input type="text" name="dmaand" value="">-<input type="text" name="djaar" value=""></td>
</tr>
<tr>
<td>Soort nieuws? </td>
<td><label><input name="soortnieuws" type="radio" value="waarneming"
Code (php)
</tr>
<tr>
<tr ><td></td>
<td><label><input type="radio" name="soortnieuws" value="administratief"
Code (php)
</tr>
<tr>
<tr ><td></td>
<td><label><input type="radio" name="soortnieuws" value="voortgang"
Code (php)
</tr>
<tr>
<td>goedkeuring</td>
<td><p>
<label>
<input type="radio" name="goedkeuringsgroep" value="ja"
ja</label>
<label>
<input type="radio" name="goedkeuringsgroep" value="nee"
nee</label>
</p>
</td>
</tr>
<tr>
<td>Het Nieuwsbericht:</td>
<td> </td>
</tr>
<tr>
<td colspan="2"><textarea name="nieuws" cols="100" rows="10" wrap="VIRTUAL" >
</textarea></td>
</tr>
<tr>
<td colspan="2"><center><input type="submit" name="controleer" value="edit"></center></td>
</tr>
</table>
</form>
</body>
</html>
Gewijzigd op 10/12/2005 13:41:00 door Maarten
Ik denk dat de eerste weg kan.
In de volgende regel zit een typefoutje:
<input type="text" naam="id" value="">
moet zijn:
<input type="text" name="id" value="">
alles doet het nu. vooral dat typfoutje zal het geweest zijn.
Je kan trouwens beter echo() gebruiken. Print()is ietsje langzamer dan echo() heb ik geleerd uit één van de notes van de php manual. En je hoeft geen haakjes te gebruiken trouwens.
wat is dan het verschil tussen echo en Print?
Gebruik je overigens wel superglobals? Anders loop je echt zo'n 3 jaar achter. Ook definities als
$id = $_GET['id']
moet je juist ontwijken; hierdoor haal je het voordeel van de overzichtelijke $_GET meteen weg
Maarten:
wat is dan het verschil tussen echo en Print?
Niks, echo is iets sneller
(zie vorige post)
ik heb nog nooit gehoord van de term superglobals misschien moet ik dat zo is opzoeken.
ik ben ook nog maar 5 weken met php bezig voor school dus ik ben niet zo ervaren.