notitie in database opslaan
ik ben nieuw hier, want ik ben sinds kort pas bezig met php.
Ik heb een vraagje (eigenlijk heel veel :P)
Want ik heb een eigen forum met inlog functie enzo, dit werkt allemaal prima.
Nu wil ik in dat forum, dat je een mogelijkheid hebt om een notitie blok hebt en kan verwijderen/aanmaken/veranderen
heeft iemand zo'n script voor mij?
De rest van de vragen stel ik een andere keer wel :P
Met vriendelijke groet
Fabian
Een kant en klaar script heb ik niet. Maar met een INSERT en UPDATE query moet je wel ver komen.
ik ga het nog een keer proberen :)
Maar als iemand nog een scriptje heeft ofzo hoor ik het graag!!!
Oefening baart kunst, van een kant en klaar script leer je niks ;).
Beter probeer je het zelf uit, als je na wat proberen er nog steeds niet uit komt helpen we je graag. :)
ik heb heel veel geprobeerd enzo maar nog te weinig kennis om zelf iets te maken
ik krijg het dan ook niet voor elkaar om een script te schrijven en te vinden hoe je je notitie kan veranderen
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
// Make a MySQL Connection
mysql_connect("localhost", "*******", "******") or die(mysql_error());
mysql_select_db("*******") or die(mysql_error());
// Get all the data from the "example" table
$result = mysql_query("SELECT emp_name FROM persons")
or die(mysql_error());
echo "<table>";
echo "<tr> <th>Name</th> </tr>";
// keeps getting the next row until there are no more to get
while($row = mysql_fetch_array( $result )) {
// Print out the contents of each row into a table
echo "<tr><td>";
echo $row['emp_name'];
echo "</td><td>";
}
echo "</table>";
?>
// Make a MySQL Connection
mysql_connect("localhost", "*******", "******") or die(mysql_error());
mysql_select_db("*******") or die(mysql_error());
// Get all the data from the "example" table
$result = mysql_query("SELECT emp_name FROM persons")
or die(mysql_error());
echo "<table>";
echo "<tr> <th>Name</th> </tr>";
// keeps getting the next row until there are no more to get
while($row = mysql_fetch_array( $result )) {
// Print out the contents of each row into a table
echo "<tr><td>";
echo $row['emp_name'];
echo "</td><td>";
}
echo "</table>";
?>
Hebben jullie tips? en kan iemand AUB een script voor mij schrijven zodat een bezoeker deze gegevens kan veranderen. Als je meer informatie nodig hebt kan ik die zeker sturen!
- Verder zijn de mysql_*() functies verouderd, en raad ik die van mysqli_*() aan
- Goede foutafhandeling ontbreekt er.
- Je connectie kan je beter includeren in een apart bestand
- het expliciet instellen van de gebruikte character encoding
- het genereren van een compleet, en kloppend, HTML-document
Daarnaast, vraag jezelf af waarom je statische HTML zou willen echo'en, je kunt op elk moment "uit" je PHP-code stappen door een blok af te sluiten en op elk moment je PHP-code hervatten door een (nieuw) blok te openen.
Zouden jullie misschien mijn script kunnen verbeteren? Dan weet ik zeker dat ik het goede gebruik..
En daarnaast heeft iemand een update query voor mij?
Probeer eens wat, zou ik zeggen ;-)
ik ga proberen een nieuw script te maken (Zelf) en dan weer hier neer te zetten, zouden jullie hem dan nog een keer willen nakijken?
Gewijzigd op 20/02/2015 20:24:40 door Fabian webstars
http://www.phptuts.nl staan goede tutorials, waarmee je wel uit de voeten kan.
Op Code (php)
Wat doe ik fout? :(
en is dat mysqli goed?
Gewijzigd op 21/02/2015 01:07:58 door Fabian webstars
Verder raad ik je aan om deze tutorials te lezen en te beoefenen:
PHP: http://phptuts.nl/view/39/
MySQL + PHP: http://phptuts.nl/view/41/
MySQLi: http://phptuts.nl/view/26/1/
Gewijzigd op 21/02/2015 07:37:38 door - Ariën -
En zorg dat error reporting aan staat.
het werkt allemaal en alles is veranderd naar mysqli ik heb het bestand geinclude zoals er verteld werd en daar staat mijn fout afhandeling ook in.
Ik heb php en html van elkaar gescheiden
ik heb nog 3 vragen:
-wat is een error reporting
- het expliciet instellen van de gebruikte character encoding <<--- ???
- (input filtering en) output escaping <<-- ???
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
33
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
33
- Aar -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Gewijzigd op 21/02/2015 18:00:37 door - Ariën -
Zie ook: http://php.net/manual/en/function.error-reporting.php
De character-encoding voor HTML5 is standaard altijd UTF-8.
In- en output filtering is het filteren van de data die je aan je script meegeeft. Denk bijvoorbeeld aan SQL-injection. In dit geval kan ik niet beoordelen of het nodig is, omdat ik geen inzicht heb in je $result. Als deze een WHERE-voorwaarde kent met een $_POST, $_GET of $_COOKIE variabele, dan moet je controleren of de ingevoerde data juist is, en deze escapen met mysqli_real_escape_string.
- de character encoding die je instelt als je een connectie maakt
- de character encoding van je database, tabellen en tabel-kolommen
- (en last but not least!) de character encoding van de DATA die je hier naar wegschrijft
Ongeacht welke character encoding je kiest is het het beste (en eenvoudigste) om deze overal hetzelfde te houden.
Input filtering en output escaping hoef je niet per se overal toe te passen, maar het kan handig zijn om dit toch overal te doen. Je hoeft dan namelijk geen afweging te maken of het wel of niet echt nodig is.
Input filter en output escaping zijn onder andere belangrijk:
- in je database (controleer de DATA elementen op vorm, escape DATA elementen met een _real_escape_string functie)
- in je HTML-document (en dan met name output escaping: als er in bepaalde output geen HTML mag zitten, gebruik dan altijd htmlspecialchars)
Bij output escaping is het bijna altijd van zeer groot belang dat een juiste character encoding is ingesteld, anders werkt deze mogelijk niet naar behoren, met alle gevolgen (risico's) qua veiligheid van dien.
Gewijzigd op 22/02/2015 00:55:35 door Thomas van den Heuvel
Als je dat aan het begin van je code zet zullen alle fouten op het scherm vermelden als je de pagina opvraagt. Deze fouten helpen jou om
a) te zien dat er een fout in je code zit
b) wat er mogelijk fout gaat en waar de fout zit
Toevoeging op 22/02/2015 11:09:46:
Wanneer je meerdere fouten krijgt kijk je enkel naar de eerste (bovenste) foutmelding omdat de andere maar al te vaak veroorzaakt worden door de eerste.
Quote:
Mooie woorden allemaal maar waar het voor Fabian nu even om gaat is dit.
De topicstarter vroeg hier zelf om. Deze denigrerende reactie voegt daarentegen weinig toe. Het zijn meestal niet de bugs die overduidelijk fouten opleveren (parse error, ongedefinieerde index etc.) maar complexere samenlopen van omstandigheden die zorgen voor complexere fouten, of veiligheidslekken die niet in eerste oogopslag evident zijn voor de beginnende programmeur. Het lijkt mij dan nog steeds beter om je te bedienen van een aantal simpele regels die wegsturen van dit soort situaties, in plaats van deze regels weg te wuiven als zijnde onbeduidend of onnodig complex.
Tenzij het je opzet is om iemand door de poep te laten banjeren.
Natuurlijk is het ook belangrijk dat mensen hun eigen code kunnen debuggen, dus zet ook vooral error_reporting en display_errors aan.
Overigens zou de waarde van 'display_errors' vanaf PHP versie 5.2.4 strict genomen 'stdout' moeten zijn om foutmeldingen op het scherm te tonen.
Ik zie hier een hele hoop mensen vrolijk hun eerste formuliertje in elkaar zetten en dat is allemaal goed en wel, maar ik denk dat een site als deze toch wel wat verder kan gaan dan het enkel helpen met het oplossen van het "directe probleem", en ook wijzen op mogelijke risico's en alternatieve oplossingen (wat soms wordt er gewoon voortgeborduurd op een verkeerd ontwerp). Of stelt deze site zich niet mede tot doel om bezoekers zelf te leren na te denken over code?
De laatste tijd is het ook vaak hetzelfde liedje: mensen weten niet hoe ze iets moeten debuggen. Het antwoord is ook vaak hetzelfde. Als je dat soort standaard oplossingen nou eens als voorwaarde stelt om uit te proberen voordat iemand hier uberhaupt een vraag stelt?
Als je iemand niet motiveert een probleem zelf op te lossen dan staan ze, voordat je een antwoord hebt op hun vraag, al klaar met een volgende (en compleet andere) vraag, die zelfs geregeld in dezelfde thread wordt gesteld.