weergave problemen van waardes.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Maarten

Maarten

10/12/2005 10:15:00
Quote Anchor link
voor een vak op school werk ik aan een nieuwsphp verwerksysteem.
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)
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
<?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);
?>
Gewijzigd op 10/12/2005 13:23:00 door Maarten
 
PHP hulp

PHP hulp

27/11/2024 22:00:59
 
Jan Koehoorn

Jan Koehoorn

10/12/2005 10:29:00
Quote Anchor link
Je hebt geen accolades gebruikt bij je while lus.

Beter zo:

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
<?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>';
}

?>
 
Maarten

Maarten

10/12/2005 10:34:00
Quote Anchor link
stukke beter,
bedankt
 

10/12/2005 12:16:00
Quote Anchor link
En natuurlijk inspringen voor de overzicht ;)
 
Maarten

Maarten

10/12/2005 13:21:00
Quote Anchor link
ja, eigenlijk moet dat. We leren alleen pas php en ik heb dus nog niet alle netheid regels gehad over de code.

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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$id
=$_GET['id'];
?>

<input type="text" naam="id" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? print ($id); ?>
">
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)
PHP script in nieuw venster Selecteer het PHP script
1
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'"
?>

heeft één van jullie een idee wat ik moet verranderen?
Gewijzigd op 10/12/2005 13:24:00 door Maarten
 
Burdy

Burdy

10/12/2005 13:32:00
Quote Anchor link
Zet de code van je formulier hier ook even bij, wellicht zit daar een probleempje in.
 
Maarten

Maarten

10/12/2005 13:37:00
Quote Anchor link
<html>
<head><title>edit nieuwsform</title><head>
<body>
<form method="post" action="verwerkedit.php">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
error_reporting (E_ALL);
?>

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
<?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;
}

?>


<form method="get" action="verwerkedit.php">
<input type="text" naam="id" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? print ($id); ?>
">

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Naam :</td>
<td><input type="text" name="naam" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php print($naam); ?>
"></td>
</tr>
<tr>
<td>E-mail :</td>
<td><input type="email" name="email" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php print($email); ?>
"></td>
</tr>
<tr>
<td>datum, losse(voor verwerking)(d-m-y):</td>
<td><input type="text" name="ddag" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php print($ddag); ?>
">-<input type="text" name="dmaand" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php print($dmaand); ?>
">-<input type="text" name="djaar" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php print($djaar); ?>
"></td>
</tr>
<tr>
<td>Soort nieuws? </td>
<td><label><input name="soortnieuws" type="radio" value="waarneming"
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if (( $soortnieuws )=="waarneming") {
        print("checked");}

print(">waarneming</label></td>");
?>

</tr>
<tr>
<tr ><td></td>
<td><label><input type="radio" name="soortnieuws" value="administratief"
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if (($soortnieuws )=="administratief") {
        print("checked");}

print(">administratief</label></td>");
?>

</tr>
<tr>
<tr ><td></td>
<td><label><input type="radio" name="soortnieuws" value="voortgang"
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if (($soortnieuws)=="voortgang") {
        print("checked");}

print(">voortgangwerk</label></td>");
?>

</tr>
<tr>
<td>goedkeuring</td>
<td><p>
<label>
<input type="radio" name="goedkeuringsgroep" value="ja"
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
        if (($goedkeuring)=="ja") {
        print("checked");}
        print(">");
        ?>

ja</label>
<label>
<input type="radio" name="goedkeuringsgroep" value="nee"
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
        if (($goedkeuring)=="nee") {
        print("checked");}
        print(">");
        ?>

nee</label>
</p>
</td>
</tr>
<tr>
<td>Het Nieuwsbericht:</td>
<td>&nbsp;</td>
</tr>
<tr>
<td colspan="2"><textarea name="nieuws" cols="100" rows="10" wrap="VIRTUAL" >
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php print( $nieuws ); ?>
</textarea></td>
</tr>
<tr>
<td colspan="2"><center><input type="submit" name="controleer" value="edit"></center></td>
</tr>
</table>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
mysql_free_result ($res);
?>

</form>
</body>

</html>
Gewijzigd op 10/12/2005 13:41:00 door Maarten
 
Burdy

Burdy

10/12/2005 13:59:00
Quote Anchor link
Je hebt 2x <form> in je document staan.
Ik denk dat de eerste weg kan.

In de volgende regel zit een typefoutje:
<input type="text" naam="id" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? print ($id); ?>
">

moet zijn:
<input type="text" name="id" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? print ($id); ?>
">
 
Maarten

Maarten

10/12/2005 14:13:00
Quote Anchor link
bedankt,
alles doet het nu. vooral dat typfoutje zal het geweest zijn.
 

10/12/2005 14:20:00
Quote Anchor link
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.
 
Maarten

Maarten

10/12/2005 14:28:00
Quote Anchor link
wat is dan het verschil tussen echo en Print?
 
PHP erik

PHP erik

10/12/2005 14:42:00
Quote Anchor link
Er is geen verschil, behalve dan dat echo iets sneller schijnt te zijn.

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
 
Han eev

Han eev

10/12/2005 14:44:00
Quote Anchor link
Maarten:
wat is dan het verschil tussen echo en Print?

Niks, echo is iets sneller
(zie vorige post)
 
Maarten

Maarten

10/12/2005 16:06:00
Quote Anchor link
ik zal er aan denken echo's te gebruiken
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.
 



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.