[PHP]online variabelen aanpassen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hoi,

Ik heb een supersimpel webshop achtigs iets gemaakt. In een php bestand staan producten met hun prijs, omschrijving en naam. Een ander php script spreekt dit bestand aan (als include) en verwerkt vervolgens als een loop elk product tot deze op het scherm verschijnen in een form waar o.a het aantal ingevult kunnen worden..dit werkt allemaal goed, maar als ik een prijs wil aanpassen of een product wil toevoegen moet ik het php bestand openen, mn aanpassingen maken, opslaan en uploaden...
ik wil dit eigenlijk via internet kunnen doen.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$produkt[1]["naam"]="Bloem1";
$produkt[1]["omschrijving"]="Info1";
$produkt[1]["prijs"]="50.25";
?>

<?php
$produkt[2]["naam"]="Bloem2";
$produkt[2]["omschrijving"]="Info2";
$produkt[2]["prijs"]="10.00";
?>

<?php
$produkt[3]["naam"]="Bloem3";
$produkt[3]["omschrijving"]="Info3";
$produkt[3]["prijs"]="8.00";
?>

<?php
$produkt[4]["naam"]="Bloem4";
$produkt[4]["omschrijving"]="Info4";
$produkt[4]["prijs"]="1.25";
?>


bovenstaand is dus het script dat ik aan wil kunnen passen.
Ik had het idee om wederom dit script aan te spreken en alle variabelen van elk product in een textfield te zetten, om vervolgens al deze aangepaste waarden op te slaan in het php bestand.
Tot dat opslaan kom ik er wel. Maar ik heb geen idee hoe ik verder moet.

kan ik uberhaupt over een bestand heen schrijven dat ik als include in het script hen staan? en hoe kan ik ervoor zorgen dat om de aangepaste variabelen weer het benodigde php script komt te staan?

Een beetje onduidelijk vraag misschien, maar ik heb gewoon geen idee hoe ik dit aan moet pakken(ik wil geen mysql gebruiken trouwens, heb ik zo mn redenen voor)

Acties:
  • 0 Henk 'm!

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Mjah je zult toch een database achtig iets het best kunnen gebruiken. Of je de data nou stored in een file of in een RDBMS is niet van belang en zou je eigenlijk op een lagere laag in je programma moeten vastleggen, niet op een hoge laag.
Maar ga NOOIT in je sourcefiles zitten hakken. Je kunt hierdoor de meest rare resultaten krijgen en bij het minste geringste werkt je applicatie niet meer. :)

Vertel eens, wat maakt het gebruik van MySQL slechter dan dit ontwerp?

Acties:
  • 0 Henk 'm!

  • dArtagnan
  • Registratie: Mei 2002
  • Laatst online: 23-08 22:47

dArtagnan

Een voor allen, allen voor een

Gebruik anders webexplorer, supersimpel en handig. Gebruikt geen mysql en is slechts 17kb groot.
http://www.suneworld.com
WebExplorer is a Windows Explorer style file manager through your webbrowser, but don't let the "Windows part" of it scare you away! Just upload the file to your designated "admin" directory on your PHP enabled website, edit the variable $basedir to reflect your website, and off you go!!
This application lets you edit, browse, CHMOD, view, move, rename, copy, and create files/directories in any forms/tables enabled browser.
You even have the option to create html skeleton-files
Ik raad je wel aan om templates te gebruiken. Dan hoef je tenminste niet te gaan rommelen in je scripts.

[ Voor 11% gewijzigd door dArtagnan op 15-01-2003 22:07 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Glimi, wat je dus eigenlijk zegt is dat ik de variabelen moet wegschrijven in een text bestand(ofzo) en die vervolgens in producten.php(waar het voorbeeld van is) verwerken??..
maar hoe kan ik dat wat in de textfile staat zo in producten.php krijgen dat er geen verschil optreedt??..

ik wil overigens geen mysql gebruiken omdat dit gewoon geen optie is. De server waar dit script m,oet draaien heeft daar geen beschikking over.

Koraalduivel, dit script kan files uploaden en maken, maar niet aanpassen...alleen nieuw maken dus.

Acties:
  • 0 Henk 'm!

Verwijderd

Dit is mijn eigen script om online bestanden te editen, het werkt op mijn server (achter een .htaccess) met php 4.2.3 gewoon goed...
Dit script opent een file, en overscrijft em dan helemaal met de nieuwe (aangepaste) inhoud.

[file.inc.php]:
PHP:
1
2
3
4
5
6
7
8
9
<?
function openfile($file){
$lines=file($file);
foreach($lines as $line_num => $line){
$output=$output.htmlspecialchars($line);
}
return $output;
}
?>

[geef_bestand_op.php]:
HTML:
1
2
3
4
5
Geef een bestand op:<br>
<form name="form" method="post" action="edit.php">
<input type="text" name="a">
<input type="submit" name="Submit" value="Submit">
</form>

[edit.php]
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
<?
include("file.inc.php");
$a=$_POST['a'];
?> 
<div align="center">
<form name="form" method="post" action="save.php?file=<? echo $a; ?>">
<b><? echo $a; ?></b><br>
<textarea name="bestand" cols="100" rows="30"><? echo openfile($a); ?>
</textarea>
<br>
<input type="submit" name="Submit" value="Sla op.">
</form>

[save.php]
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$filename = $_GET['file'];
$somecontent = $_POST['bestand'];
$somecontent = stripslashes($somecontent);
if (is_writable($filename)) {
    if (!$fp = fopen($filename, 'w')) {
        print "Cannot open file ($filename)";
        exit;
    }
    if (!fwrite($fp, $somecontent)) {
        print "Cannot write to file ($filename)";
        exit;
    }
    
    print "Gelukt";
    
   fclose($fp);
                    
   } else {
   print "The file $filename is not writable";
   }

[ Voor 54% gewijzigd door Verwijderd op 16-01-2003 00:04 ]


Acties:
  • 0 Henk 'm!

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02 23:12

SchizoDuckie

Kwaak

Verwijderd schreef op 15 januari 2003 @ 21:28:
<snip>
PHP:
1
2
3
4
5
6
7
8
9
10
11
<?php
...
?>

<?php
...
?>

<?php
...
?>

<snip>
• Ten eerste: waarom gebruik je steeds <?php ... ?> om een array item heen? lijkt me zwaar overbodig, en tevens komt het de snelheid niet ten goede.
• Ten tweede: GEBRUIK EEN DATABASE!! serieus, ik heb ook een eeuw lang flat files gebruikt om gegevens in op te slaan, maar met een database werken is _zo_ veel makkelijker, en werkt zó veel lekkerder, sneller, simpeler en met minder code!!!
• Ten derde: als ik jou was, zou ik een tekst bestandje gebruiken met waarden bijvoorbeeld gescheiden door een tab, een ;, of wat voor ander teken dat je niet gebruikt in je shop. Deze voeg je dan tussen de waarden in.
Om je waarden terug te lezen doe je het volgende:
• • je leest de file in
• je explode op "\n" (nieuwe regel)
• je explode op je scheidingsteken

dan heb je dus een multi dimensionale array met je gegevens erin :)

Maar op een gegeven moment ga je bijvoorbeeld alleen de prijs van een item willen updaten, en moet je de posities opzoeken, en dan ga je willen dat je vanaf het begin al sql + db gebruikt had.

I rest my case :)

Stop uploading passwords to Github!


Acties:
  • 0 Henk 'm!

  • Dark Blue
  • Registratie: Februari 2001
  • Laatst online: 05-09 10:36

Dark Blue

Compositionista!

Alpenmeisje

Papa Eend schreef op 16 January 2003 @ 00:15:
• Ten tweede: GEBRUIK EEN DATABASE!! serieus, ik heb ook een eeuw lang flat files gebruikt om gegevens in op te slaan, maar met een database werken is _zo_ veel makkelijker, en werkt zó veel lekkerder, sneller, simpeler en met minder code!!!
I rest my case :)
Tja, als je het zo uit gaat schrijven (topicstarter) dan heeft een PHP file ook weinig zin. Een lijstje arrays met
naam,omschrijving,prijs
naam,omschrijving,prijs
zou beter werken *denk ik* -> ik ben ook maar een PHP n00bje.

Hey, maar Papa Eend, om het even zo public te vragen, waarom moet hij per sé een database nemen? Als hij daar nou eens geen toegang tot heeft, geen mogelijkheid, of hij heeft er nog geen verstand van? Eerst weer leren...
Het is natuurlijk wel professionéler, en gebruiksvriendelijker; maar je hoeft het hem niet zo met hoofdletters op te dringen.
Hij zegt zelf al dat dit een supersimpel webshopsysteempje is. Als het voor een kleine winkel is, hoeft er geen hele database achter.

heidiulrich.nl | adventura.nl : rugzakavonturen | pathwise.nl : prepping geeks to get jobs


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 16:28

Bosmonster

*zucht*

als je dan echt geen DB kan gebruiken, sla het dan op in CSV formaat.. en gebruik fgetcsv() om deze snel te kunnen uitlezen.

Wegschrijven kun je al halen uit het voorbeeld van slindenau.
Koraalduivel schreef op 15 januari 2003 @ 22:04:
Gebruik anders webexplorer, supersimpel en handig. Gebruikt geen mysql en is slechts 17kb groot.
http://www.suneworld.com
[...]
Ik raad je wel aan om templates te gebruiken. Dan hoef je tenminste niet te gaan rommelen in je scripts.
Hmm.. ik dacht: leuk tooltje eens kijken.. Maar als ik naar die code kijk dan zet ik het liever niet op mn server... ziet er nogal amateuristisch uit imho..

[ Voor 51% gewijzigd door Bosmonster op 16-01-2003 09:38 ]


Acties:
  • 0 Henk 'm!

  • mor0n
  • Registratie: December 2002
  • Laatst online: 21-03-2022
Ik zou ook een database gebruiken, heb ik ook gedaan nl. bij de webshop die ik gemaakt heb voor het bedrijf waar ik werk. Maar wat al gezegd is: het is mogelijk dat je geen toegang hebt tot een database.

Gebruik dan toch echt het bovenstaande voorbeeld.

[ Voor 43% gewijzigd door mor0n op 16-01-2003 10:18 ]


Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 16:51
We kunnen hier wel allemaal gaan roepen dat hij beter een db kan gebruiken, vind ik ook hoor ;) maar als hij dat niet wil dan moet hij dat verder zelf weten. Andere vormen in tekstbestanden zijn ook al gegeven die beter werken dan wat hij nu heeft, that's it.

Acties:
  • 0 Henk 'm!

Verwijderd

Precies. Als hij met een flat-file dbase constructie wil werken is dat z'n goed recht. Gezien de gegeven code zou ik zeggen dat het geen kwaad kan eens een kijkje te nemen op www.php.net. Daar staan in principe alle ingredienten om iets moois mee te maken.

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 16:32
Dark Blue schreef op 16 januari 2003 @ 00:51:
[...]


Hey, maar Papa Eend, om het even zo public te vragen, waarom moet hij per sé een database nemen? Als hij daar nou eens geen toegang tot heeft, geen mogelijkheid, of hij heeft er nog geen verstand van? Eerst weer leren...
Het is natuurlijk wel professionéler, en gebruiksvriendelijker; maar je hoeft het hem niet zo met hoofdletters op te dringen.
Hij zegt zelf al dat dit een supersimpel webshopsysteempje is. Als het voor een kleine winkel is, hoeft er geen hele database achter.


Wat zou je dan wel doen? Een flat-file systeem maken? En alle kracht die een DBMS je biedt in deze situatie mislopen?
Je moet het natuurlijk wel eerst leren (data-modelling, SQL, ...) maar dan heb je -hopelijk- iets bijgeleerd. (En hopelijk goed bijgeleerd).

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • Config
  • Registratie: Januari 2000
  • Laatst online: 06-01 00:49
whoami schreef op 16 januari 2003 @ 19:53:

[...]


Wat zou je dan wel doen? Een flat-file systeem maken? En alle kracht die een DBMS je biedt in deze situatie mislopen?
Je moet het natuurlijk wel eerst leren (data-modelling, SQL, ...) maar dan heb je -hopelijk- iets bijgeleerd. (En hopelijk goed bijgeleerd).
whoami, er zijn 2 soorten mensen...

- Mensen die denken "het moet zoals het kan"
- Mensen die denken "het moet zoals het moet"

:P

Ik neem aan dat jij samen met mij bij de 2e categorie komt brallen over *de* perfecte applicatie/techniek, terwijl de anderen er een meer door Linus Torvalds geïnspireerde filosofie op nahouden ;). ( "If it compiles, it's good. If it runs, it's perfect" - Linus Torvalds ).

Acties:
  • 0 Henk 'm!

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Mjah hoe je het ook went of keert, het blijft een database. Of je de data nou stalt in een textfile, csv of een RDBMS het is en blijft een database :)

En je moet er gewoon voor zorgen dat die data in die database via een 'simpele' taal te benaderen is voor hogeren lagen van je applicatie. Dat een RDBMS en daarbijhorend SQL zeer geschikt zijn, mjah dat mag hopelijk duidelijk zijn.

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 16:32
[nohtml]
Glimi schreef op 16 januari 2003 @ 21:53:
Mjah hoe je het ook went of keert, het blijft een database. Of je de data nou stalt in een textfile, csv of een RDBMS het is en blijft een database :)
Ik weiger om een textfile of csv systeem een database te noemen. :P

Een database is een zichzelf beschrijvende verzameling van gegevens.
Zichzelf beschrijvend: het houdt data bij over zijn structuur (veldtypes, relaties, ...)
Een database zorgt voor referentiele integriteit en integriteit in het algemeen over z'n data.

textfiles , csv, .... -> geen databank. :P

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

Verwijderd

kweet niet of het in php ook kan, maar in ASP kun je filesystem objects gebruiken om textbestanden e.d. te editen, je zou dan een compleet programmatje moeten schrijven om op die manier een textbestand als db te gebruiken, maar het is mogelijk.. maargoed, als je op die server PHP kunt draaien, dan lijkt het mij toch raar dat er geen sql/mysql bijzit..
Pagina: 1