000000 opslaan in database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

K i p

K i p

12/08/2006 17:30:00
Quote Anchor link
Ik wil 000000 opslaan in een database (voor de achtergrond kleur van een pagina in een flash-filmpjes-album). Dat lukt. Alleen als ik dan UPDATE doe, en dus de kolom 'bgcolor' UPDATE, en 000000 invul, dan staat er 0 in de DB. Hoe kan ik dat verhelpen? Hoop dat het duidelijk is.

Ik weet niet welke code ik moet geven maar hier is die van edit.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
<?php
include("../connect.php");
if (!isset($_POST['submit'])) {
echo '
<fieldset><legend><b>Bestand editten</b></legend>
<form action="edit.php" method="post">
<tt>&nbsp;</tt><input type="text" class="text" readonly="readonly" name="id" value="'
. $_GET['id'] . '">ID<br>
<tt>&nbsp;</tt><input type="text" class="text" name="file" value="'
. $_GET['file'] . '" />Bestandsnaam<br>
<tt>&nbsp;</tt><input type="text" class="text" name="naam" value="'
. $_GET['naam'] . '" />Titel<br>
<tt>#</tt><input type="text" class="text" maxlength="6" name="bgcolor" value="'
. $_GET['bgcolor'] . '" />Achtergrondkleur<br>
<tt>&nbsp;</tt><input type="text" class="text" maxlength="3" name="hoogte" value="'
. $_GET['hoogte'] . '" />Hoogte<br>
<tt>&nbsp;</tt><input type="text" class="text" maxlength="3" name="breedte" value="'
. $_GET['breedte'] . '" />Breedte<br>
<tt>&nbsp;</tt><input type="submit" class="text" name="submit" value="submit" id="submit">
</form>
</fieldset><br />&nbsp;<br /><a href="index.php">klik hier om terug te gaan</a>
'
;
}
else {

$query = "UPDATE flashmovies SET file='".$_POST['file']."', naam='".$_POST['naam']."', bgcolor=".$_POST['bgcolor'].", hoogte=".$_POST['hoogte'].", breedte=".$_POST['breedte']." WHERE id=".$_POST['id']."";
$sql = mysql_query($query) or die(mysql_error());

echo 'velden ge-update!<br>';
echo '<a href="index.php">klik hier om terug te gaan</a>';

}

?>
 
PHP hulp

PHP hulp

17/11/2024 19:28:34
 
Jan Koehoorn

Jan Koehoorn

12/08/2006 17:57:00
Quote Anchor link
Je slaat hem op als een getal, waarschijnlijk. Om een kleurcode op te slaan kun je beter een type varchar gebruiken.
 
Tim Groot

Tim Groot

12/08/2006 17:58:00
Quote Anchor link
Je moet in de databse geen waarde int mee geven maar gewoon txt/varchar
Dit omdat volgens int de waarde 000000 gelijk is aan 0.

Ik denk dat het daar aan ligt
Gewijzigd op 01/01/1970 01:00:00 door Tim Groot
 
K i p

K i p

12/08/2006 18:07:00
Quote Anchor link
bgcolor varchar(255) latin1_swedish_ci Ja NULL

edit: en oja, als int opslanais ook niet slim dan kan je ook niet FF0000 doen ofzo
Gewijzigd op 01/01/1970 01:00:00 door K i p
 
Tim Groot

Tim Groot

12/08/2006 18:14:00
Quote Anchor link
doe hem dan is met tekst.

@je edit dat klopt helemaal gelijk in.
 
Tim Groot

Tim Groot

12/08/2006 18:19:00
Quote Anchor link
als dat nog niet werkt maak je er even een print regel onder of alles goed doorgezonden wordt.
print"".$_POST['bgcolor']."";
 
K i p

K i p

12/08/2006 18:23:00
Quote Anchor link
Ja, als je als kleur FABCDE ofzo opgeeft werkt het wel. Ok zal testen met de print als ik terug kom van de film.


ps.: echo is sneller dan print;-)
 
Zim Zim

Zim Zim

12/08/2006 18:34:00
Quote Anchor link
Ik zou gewoon een varchar gebruiken.
 
Hipska BE

Hipska BE

12/08/2006 18:43:00
Quote Anchor link
bgcolor varchar(6) NULL

er is maar 6 nodig.

de gewone notatie's hebben ook niet meer dan 6 tekens
red
blue
yellow
...
 
Frank -

Frank -

12/08/2006 18:57:00
Quote Anchor link
@Tim:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php print"".$_POST['bgcolor'].""; ?>
kun je eenvoudiger schrijven door al die overbodige quotes weg te laten:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php print $_POST['bgcolor']; ?>


En wat al is gezegd, waarom print gebruiken wanneer echo sneller is?
 
Tim Groot

Tim Groot

12/08/2006 19:12:00
Quote Anchor link
@frank

Echo is ook goed, maakt niet zoveel uit, het ging erom dat er even gekeken werd of alles goed werd doorgezonden.

Die dubbele quotes om in een editor het duidelijker te laten opvallen.(omdat ze dan een andere kleur krijgen)
Ook dit is niet echt nodig, maar voor dit soort dingen en grote scripts vindt ik het makkelijker
 
Bart van der veen

bart van der veen

12/08/2006 19:56:00
Quote Anchor link
extra teken toevoegen bijvoorbeeld #000000
 
Steff   an

Steff an

12/08/2006 21:23:00
Quote Anchor link
Met INT kan je ook de functie 'Zerro Fill', dan worden automatisch nullen aangevulD.

De andere oplossingen zijn veel bter.
Gewijzigd op 01/01/1970 01:00:00 door Steff an
 
K i p

K i p

12/08/2006 22:33:00
Quote Anchor link
Ik heb dus al een VARCHAR, en het werkt nog niet. Ik heb nu geprobeerd met een # ervoor, maar nu wordt mijn link:

edit.php?id=4&file=.swf&naam=titel&bgcolor=#000000&hoogte=400&breedte=550

Als ik dan in de input-velden 'value="'.$_GET['hoogte'].'"' echo, dan krijg ik daarvan een notice:
Notice: Undefined index: hoogte in /home/borisbez/domains/xxx.nl/public_html/flash/admin/edit.php on line 22

Dan zegt hij dus dat de variabele niet geset is. Komt dat door het hekje in bgcolor? Hoe kan ik dat aanpakken?
 
K i p

K i p

12/08/2006 22:36:00
Quote Anchor link
Oja: Als ik gewoon een normale rij edit, dus met geen # voor de bgocolor, en ik verander de bgcolor in 0a0000 dan zegt hij: Unknown column '0a0000' in 'field list'


Jullie kunnen dit trouwens allemaal zelf testen op:
http://www.xxx.nl/flash/admin/index.php
user: sjakie
pass: blablabla


edit:
Je kunt ook de codes van elk bestand bekijken:
op alfabetische volgorde:
delete.phps
edit.phps
index.phps
login.phps
loguit.phps
reset.phps



Edit:
DOMME FOUT VAN MIJ: er zaten geen ''s om de bgcolor waarde heen... Het werkt nu helemaal:-) thx allemaal
Gewijzigd op 01/01/1970 01:00:00 door K i p
 



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.