Het Cijfer 1
Hoi!
Ik zit met een rare bug/stomme fout in php.
Ik heb een formulier met een submitknop. Wanneer ik op deze knop druk worden de gegevens verwerkt in de database, en krijg ik een message welke aangeeft dat de gegevens zijn verwerkt 1.
Nee dat is geen typfout hij zegt letterlijk "Uw gegevens zijn verwerkt 1." Kortom hij plakt er het cijfer 1 aanvast. Welke ik NERGENS terug kan vinden in het script. In het formulier staat het cijfertje nergens totdat ik op submit druk. Is dit een bijvrschijnsel met het wegschrijven in de database? Waar wordt deze 1 door gegenereerd?
Alvast bedankt :)
Ik zit met een rare bug/stomme fout in php.
Ik heb een formulier met een submitknop. Wanneer ik op deze knop druk worden de gegevens verwerkt in de database, en krijg ik een message welke aangeeft dat de gegevens zijn verwerkt 1.
Nee dat is geen typfout hij zegt letterlijk "Uw gegevens zijn verwerkt 1." Kortom hij plakt er het cijfer 1 aanvast. Welke ik NERGENS terug kan vinden in het script. In het formulier staat het cijfertje nergens totdat ik op submit druk. Is dit een bijvrschijnsel met het wegschrijven in de database? Waar wordt deze 1 door gegenereerd?
Alvast bedankt :)
heb je een stukje code.. kunnen we wat meer mee..
TRUE wil nog wel eens hetzelfde zijn als 1
beste om indd even een stuk code te plaatsen hier,
daar kunnen we iets meer mee.
daar kunnen we iets meer mee.
Ik hoop dat dit script duidelijk is hieronder. Maar het komt er op neer dat hij de 1 onderaan (net voordat PHP afsluit) er uit komt.
Code (php)
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
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
<?php
if (isset($_POST['submit']) && $_POST['voornaam']) {
$sql = "UPDATE `user` SET `voornaam` = '".$_POST['voornaam']."', `usergroup` = 'client'
WHERE `userid` = '$USER'";
$res = mysql_query($sql);
if ($res)
{
echo "<table><tr><td width=75> </td><td colspan=5><br><br>De gegevens zijn aangepast!<br>Klik <a href=viewuser.php?USER=$USER>hier</a> om door te gaan.<br></td></tr></table><br><br>";
}
} else {
echo "<table border=0 cellspacing=0 cellpadding=2 class=table><form method=\"POST\" action=\"edituser.php?ENQUETE=$ENQUETE&USER=$USER\" class=\"table\"";
echo "<tr><td width=75></td><td width=40>Voornaam</td><td align=right>*</td>";
echo "<td><input type=\"text\" name=\"voornaam\" value=\"$VOORNAAM\" class=\"form\"></td></tr>";
echo "<tr><td width=75></td><td> </td><td> </td>";
echo "<td><input type=\"submit\" name=\"submit\" value=\"Aanpassen\" class=\"knop\"></td></tr>";
echo "</form></table></div><br><br>";
}
?>
if (isset($_POST['submit']) && $_POST['voornaam']) {
$sql = "UPDATE `user` SET `voornaam` = '".$_POST['voornaam']."', `usergroup` = 'client'
WHERE `userid` = '$USER'";
$res = mysql_query($sql);
if ($res)
{
echo "<table><tr><td width=75> </td><td colspan=5><br><br>De gegevens zijn aangepast!<br>Klik <a href=viewuser.php?USER=$USER>hier</a> om door te gaan.<br></td></tr></table><br><br>";
}
} else {
echo "<table border=0 cellspacing=0 cellpadding=2 class=table><form method=\"POST\" action=\"edituser.php?ENQUETE=$ENQUETE&USER=$USER\" class=\"table\"";
echo "<tr><td width=75></td><td width=40>Voornaam</td><td align=right>*</td>";
echo "<td><input type=\"text\" name=\"voornaam\" value=\"$VOORNAAM\" class=\"form\"></td></tr>";
echo "<tr><td width=75></td><td> </td><td> </td>";
echo "<td><input type=\"submit\" name=\"submit\" value=\"Aanpassen\" class=\"knop\"></td></tr>";
echo "</form></table></div><br><br>";
}
?>
Bedoelde je niet:
"De gegevens zijn verwerkt!"
Uitroep teken = shift + 1
Voorderest kan die 1 er alleen komen als jij echo't
En zoals de rest al zei: Als je de code plaatst kunnen we kijken.
"De gegevens zijn verwerkt!"
Uitroep teken = shift + 1
Voorderest kan die 1 er alleen komen als jij echo't
En zoals de rest al zei: Als je de code plaatst kunnen we kijken.
@ Bram,
niet getest maar probeer deze eens :)
niet getest maar probeer deze eens :)
Code (php)
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
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
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
foreach($_POST as $value)
{
if(empty($value))
{
$error = 'Er zijn nog open velden';
}
}
if(isset($error))
{
echo $error;
}
else {
$sql = "UPDATE user SET voornaam = '".mysql_real_escape_string($_POST['voornaam'])."' && usergroup = 'client' WHERE userid = '".$USER."'";
if($res = mysql_query($sql))
{
echo '<table><tr><td width="75"> </td><td colspan="5"><br><br>De gegevens zijn aangepast!<br>Klik <a href=viewuser.php?USER='.$USER.'>hier</a> om door te gaan.<br></td></tr></table><br><br>';
}
} else
{
echo '<table border="0" cellspacing="0" cellpadding="2" class="table"><form method="POST" action="edituser.php?ENQUETE='.$ENQUETE.'&USER='.$USER.'" class="table">';
echo '<tr><td width="75"></td><td width="40">Voornaam</td><td align="right">*</td>';
echo '<td><input type="text" name="voornaam" value="'.$VOORNAAM.'" class="form"></td></tr>';
echo '<tr><td width="75"></td><td> </td><td> </td>';
echo '<td><input type="submit" name="submit" value="Aanpassen" class="knop"></td></tr>';
echo '</form></table></div><br><br>';
}
}
?>
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
foreach($_POST as $value)
{
if(empty($value))
{
$error = 'Er zijn nog open velden';
}
}
if(isset($error))
{
echo $error;
}
else {
$sql = "UPDATE user SET voornaam = '".mysql_real_escape_string($_POST['voornaam'])."' && usergroup = 'client' WHERE userid = '".$USER."'";
if($res = mysql_query($sql))
{
echo '<table><tr><td width="75"> </td><td colspan="5"><br><br>De gegevens zijn aangepast!<br>Klik <a href=viewuser.php?USER='.$USER.'>hier</a> om door te gaan.<br></td></tr></table><br><br>';
}
} else
{
echo '<table border="0" cellspacing="0" cellpadding="2" class="table"><form method="POST" action="edituser.php?ENQUETE='.$ENQUETE.'&USER='.$USER.'" class="table">';
echo '<tr><td width="75"></td><td width="40">Voornaam</td><td align="right">*</td>';
echo '<td><input type="text" name="voornaam" value="'.$VOORNAAM.'" class="form"></td></tr>';
echo '<tr><td width="75"></td><td> </td><td> </td>';
echo '<td><input type="submit" name="submit" value="Aanpassen" class="knop"></td></tr>';
echo '</form></table></div><br><br>';
}
}
?>
Edit:
Ik heb niks aan je tabellen veranderd, zelfs niet eens naar gekeken wat het deed...
Ik zou eens gaan kijken naar css, het is ontzettend handig en kwa kb's scheelt het ook wel een hoop.
Jan Koehoorn heeft een prima tutorial geschreven over formulieren opmaken met css, die kan je vinden op zijn website: www.jankoehoorn.nl
Ik heb niks aan je tabellen veranderd, zelfs niet eens naar gekeken wat het deed...
Ik zou eens gaan kijken naar css, het is ontzettend handig en kwa kb's scheelt het ook wel een hoop.
Jan Koehoorn heeft een prima tutorial geschreven over formulieren opmaken met css, die kan je vinden op zijn website: www.jankoehoorn.nl
Gewijzigd op 01/01/1970 01:00:00 door Erik Rijk
@Erik zou mij aan willen geven waarom je dat op die manier doet? En waarom het dan geen 1 laat zien? (het script werkt namelijk naar behoeven behalve dat er een 1 geparsed wordt)
@Jordy. Ik weet dat een ! shift+1 is :) En ik heb daarom ook het hele document doorlaten zoken op een soortgelijke typfout. Maar dat is dus niet het geval.
@Jordy. Ik weet dat een ! shift+1 is :) En ik heb daarom ook het hele document doorlaten zoken op een soortgelijke typfout. Maar dat is dus niet het geval.
chill, was nog aan het klooien met quotes, kan zijn dat ik hem nu daardoor verprutst heb :p
uhm.
die foreach zorgt ervoor dat alle $_POST variabelen in de variabele $value komen.
dan kan je met dat ene regeltje code kijken of je $_POST variabelen gevuld zijn.
in php gebruik je enkele quotes met echo's dan hoef je je html niet te escapen binnen die echo...
de rest spreekt geloof ik wel voor zich.
uhm.
die foreach zorgt ervoor dat alle $_POST variabelen in de variabele $value komen.
dan kan je met dat ene regeltje code kijken of je $_POST variabelen gevuld zijn.
in php gebruik je enkele quotes met echo's dan hoef je je html niet te escapen binnen die echo...
de rest spreekt geloof ik wel voor zich.
Dit is een voorbeeld van het creëren van zo'n 1.
Edit: Dit houdt in dat deze manier dus fout is.
Code (php)
Edit: Dit houdt in dat deze manier dus fout is.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
nog 1 vraagje aan jou Bram,
wat is $VOORNAAM? waar haal je die vandaan?
Ik heb het vermoeden dat je daar $_POST['voornaam'] moet gebruiken.
Code (php)
1
2
3
2
3
<?
echo '<td><input type="text" name="voornaam" value="'.$VOORNAAM.'" class="form"></td></tr>';
?>
echo '<td><input type="text" name="voornaam" value="'.$VOORNAAM.'" class="form"></td></tr>';
?>
wat is $VOORNAAM? waar haal je die vandaan?
Ik heb het vermoeden dat je daar $_POST['voornaam'] moet gebruiken.
Maak er dan voor de veiligheid wel even van:
Even voor de volledigheid...
Even voor de volledigheid...
Haha dank je wel :)
Ik had zoeweiso wat uit het script gehaald, vanwege anonimiteit, maar verder enigzins wel kloppend gelaten. Dingen als $VOORNAAM Worden bovenin het script aangegeven maar die heb ik er hier even uit gelaten.
@SanThe. Dat zou het dan inderdaad kunnen zijn, ik zal eens opzoek gaan naar een return True.
Ik had zoeweiso wat uit het script gehaald, vanwege anonimiteit, maar verder enigzins wel kloppend gelaten. Dingen als $VOORNAAM Worden bovenin het script aangegeven maar die heb ik er hier even uit gelaten.
@SanThe. Dat zou het dan inderdaad kunnen zijn, ik zal eens opzoek gaan naar een return True.
Als ik een
$res = mysql_query($sql);
gebruik van een Query welke $sql heet, en daarna
print "$res"; gebruik.
Krijg ik dan hetzelfe effect als een return True?
$res = mysql_query($sql);
gebruik van een Query welke $sql heet, en daarna
print "$res"; gebruik.
Krijg ik dan hetzelfe effect als een return True?
Hahaha, o mijn god!
Dat was het dus. Een collega van me had het $res laten printen op die plek waar het dus voorkomt. Kortom als het resultaat geleverd word print hij de True inderdaad.
Kortom een foutje bij onze interne communicatie :P ;) Toch bedankt iedereen. Vooral SanThe die me op het idee bracht :)
Dat was het dus. Een collega van me had het $res laten printen op die plek waar het dus voorkomt. Kortom als het resultaat geleverd word print hij de True inderdaad.
Kortom een foutje bij onze interne communicatie :P ;) Toch bedankt iedereen. Vooral SanThe die me op het idee bracht :)




