Het Cijfer 1

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Bram

Bram

13/09/2006 11:01:00
Quote Anchor link
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 :)
 
PHP hulp

PHP hulp

07/11/2024 17:50:20
 
Terence Hersbach

Terence Hersbach

13/09/2006 11:03:00
Quote Anchor link
heb je een stukje code.. kunnen we wat meer mee..
 
Klaasjan Boven

Klaasjan Boven

13/09/2006 11:05:00
Quote Anchor link
TRUE wil nog wel eens hetzelfde zijn als 1
 
Erik Rijk

Erik Rijk

13/09/2006 11:10:00
Quote Anchor link
beste om indd even een stuk code te plaatsen hier,
daar kunnen we iets meer mee.
 
Bram

Bram

13/09/2006 11:21:00
Quote Anchor link
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)
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
<?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>&nbsp;</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>&nbsp;</td><td>&nbsp;</td>";
     echo "<td><input type=\"submit\" name=\"submit\" value=\"Aanpassen\" class=\"knop\"></td></tr>";
     echo "</form></table></div><br><br>";
    
     }


?>
 
Jelle -

Jelle -

13/09/2006 11:22:00
Quote Anchor link
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.
 
Erik Rijk

Erik Rijk

13/09/2006 11:34:00
Quote Anchor link
@ Bram,

niet getest maar probeer deze eens :)

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
<?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">&nbsp;</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>&nbsp;</td><td>&nbsp;</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
Gewijzigd op 01/01/1970 01:00:00 door Erik Rijk
 
Bram

Bram

13/09/2006 11:39:00
Quote Anchor link
@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.
 
Erik Rijk

Erik Rijk

13/09/2006 11:48:00
Quote Anchor link
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.
 
- SanThe -

- SanThe -

13/09/2006 12:56:00
Quote Anchor link
Dit is een voorbeeld van het creëren van zo'n 1.

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
function bla($var)
{

    if($var == 'test')
    {

        echo 'okee';
        return true;
    }

    else
    {
        return false;
    }
}


echo bla('test');
// Dit geeft op het scherm: okee1
?>


Edit: Dit houdt in dat deze manier dus fout is.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
 
Erik Rijk

Erik Rijk

13/09/2006 13:11:00
Quote Anchor link
nog 1 vraagje aan jou Bram,

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
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.
 
Crispijn -

Crispijn -

13/09/2006 13:35:00
Quote Anchor link
Maak er dan voor de veiligheid wel even van:


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$VOORNAAM
= $_POST['voornaam'];
?>


Even voor de volledigheid...
 
Erik Rijk

Erik Rijk

13/09/2006 13:43:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$VOORNAAM
= $_POST['voornaam'];
?>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$VOORNAAM
= mysql_real_escape_string($_POST['voornaam']);
?>

als we het dan toch over veiligheid gaan hebben :)
Gewijzigd op 01/01/1970 01:00:00 door Erik Rijk
 
Bram

Bram

13/09/2006 14:18:00
Quote Anchor link
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.
 
Bram

Bram

13/09/2006 14:23:00
Quote Anchor link
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?
 
Bram

Bram

13/09/2006 14:31:00
Quote Anchor link
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 :)
 



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.