[php] eenmalig een variabele aanmaken

Pagina: 1
Acties:

  • ikker
  • Registratie: Oktober 2001
  • Laatst online: 02-09 16:30

ikker

No Risk No Pain No Fun!!!

Topicstarter
Ik zoek een manier om eenmalig een variabele een waarde te geven in php.

dus iets van
PHP:
1
2
3
4
5
<?
if $softid = "" {
  $softid = "1";
}
?>

Helaas werkt dit dus niet ;(


waarna je hem in het script ophoogt met
PHP:
1
2
3
<?
$softid++;
?>

iemand een idee?

Mijn netwerkje


Verwijderd

Je wil een variabele eenmalig een bepaalde waarde geven? Hmm, dan doe je toch $variabele = de_eenmalige_waarde;

Maar je bedoelt vast iets anders, probeer ajb iets duidelijker te zijn!

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

PHP:
1
2
3
4
5
6
7
8
9
10
<?
define("constante",1);


echo constante; 
//
// Geeft 1 weer.
// En het klopt je mag geen $ ervoor plaatsen het is namelijk geen variable!
//
?>

http://nl.php.net/manual/nl/language.constants.php
http://nl.php.net/manual/nl/function.define.php

Programmer - an organism that turns coffee into software.


  • ikker
  • Registratie: Oktober 2001
  • Laatst online: 02-09 16:30

ikker

No Risk No Pain No Fun!!!

Topicstarter
Op woensdag 21 november 2001 14:11 schreef LuCarD het volgende:
PHP:
1
2
3
4
5
6
7
8
9
10
<?
define("constante",1);


echo constante; 
//
// Geeft 1 weer.
// En het klopt je mag geen $ ervoor plaatsen het is namelijk geen variable!
//
?>

http://nl.php.net/manual/nl/language.constants.php
http://nl.php.net/manual/nl/function.define.php
daar lees ik als eerste:
Constanten lijken erg op variabelen, behalve dat constanten moeten worden gedefineerd met de define() functie, en dat ze later niet meer kunnen worden veranderd.
alle volgende keren dat deze pagina geopent wordt moet de waarde met 1 kunnen worden opgehoogd.

helaas kan het niet met auto_increment ofzo omdat er meerdere records het zelfde getal krijgen

Mijn netwerkje


Verwijderd

Misschien begrijp ik je verkeerd, maar dan is dit toch de bedoeling:
PHP:
1
2
3
4
5
6
7
8
<?
if(deze pagina is al eerder geopend vandaag)
{ #niets }
else
{
- zoek de waarde van de variabele op ($variabele) en dan:
$variabele = $variabele + 1;}
?>

  • ikker
  • Registratie: Oktober 2001
  • Laatst online: 02-09 16:30

ikker

No Risk No Pain No Fun!!!

Topicstarter
Op woensdag 21 november 2001 14:19 schreef HaaJee het volgende:
Misschien begrijp ik je verkeerd, maar dan is dit toch de bedoeling:
PHP:
1
2
3
4
5
6
7
8
<?
if(deze pagina is al eerder geopend vandaag)
{ #niets }
else
{
- zoek de waarde van de variabele op ($variabele) en dan:
$variabele = $variabele + 1;}
?>
bijna het is
PHP:
1
2
3
4
5
6
<?
if(deze pagina is nog nooit geopend)
{ maak $variabele }
else
{ $variabele++; }
?>

Mijn netwerkje


Verwijderd

:? Doink. Beantwoord je nou je eigen vraag? Hahaha, dat heb ik nog nooit gezien!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 16:30

Janoz

Moderator Devschuur®

!litemod

Als je probeert een teller te maken, dan is het toch iets ingewikkelder dan dat je hier denkt.. Je kunt namelijk geen variabelen zomaar doorgeven aan andere pagina's..

Verdiep je eens in db's of in bestanden (Doe maar het laatste eigenlijk)

Wil je per gebruiker tellen? Dan moet je eens naar cookies of sessions kijken.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

PHP:
1
2
3
4
5
6
7
<?
 
session_start();
$teller++;
session_register("teller");
echo $teller;
?>

Bedoel je misschien zoiets?

Verwijderd

Het probleem is waarschijnlijk dat iedere unieke bezoeker de teller met 1 op moet hogen. Misschien kan je iets opslaan (bestandje of db) en dit steeds ff uit laten lezen, vergelijken met IP-adressen, enzovoorts enzovoorts.

  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 12:07

TheDane

1.618

zucht ...
PHP:
1
2
3
4
5
6
<?
if 
  $softid = "" {  
    $softid = "1";
  }
?>

try this:
PHP:
1
2
3
4
5
6
<?
if 
  $softid == "" {  
    $softid = "1";
  }
?>

btw: een id alfanumeriek maken :? brrrrr

Verwijderd

Dus ik heb het verkeerd begrepen :)
Ok dan voor de PHP/MySQL oplossing zou je hier kunnen beginnen te kijken : PHPFreakz handleiding voor statistieken. Dat is een redelijk te begrijpen simpel statistieken scriptje.

  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 12:07

TheDane

1.618

Op woensdag 21 november 2001 15:13 schreef Exodus het volgende:
Dus ik heb het verkeerd begrepen :)
Ok dan voor de PHP/MySQL oplossing zou je hier kunnen beginnen te kijken : PHPFreakz handleiding voor statistieken. Dat is een redelijk te begrijpen simpel statistieken scriptje.
exodus: met jouw oplossing kan je VEEL MEER doen dan alleen bijhouden of een page bezocht is .. ook door wie en wanneer enzo,.. errug leuk, 't gebruik van sessions :)

Verwijderd

Klopt, maar het scheelt uitleggen hoe je met een db connect, queries doet en resultaat verwerkt. Want dat staat er in principe allemaal wel bij in.
/me is in dat opzicht een lui kreng.
Maar als ikker er niet uitkomt wil ik het ook wel uitleggen ... :)

edit: Of heb jij een idee hoe je een globale var bijhoudt zonder filetje of db? Als dat zo is blijft /me aandachtig luisteren :)

  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 12:07

TheDane

1.618

Op woensdag 21 november 2001 15:21 schreef Exodus het volgende:
edit: Of heb jij een idee hoe je een globale var bijhoudt zonder filetje of db? Als dat zo is blijft /me aandachtig luisteren :)
cookie :)

Verwijderd

Dat zou per gebruiker zijn, niet alle gebruikers opgeteld.
Dus geen "Totale hits" zeg maar.
Of heb ik cookieles gespijbeld? :)

  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 12:07

TheDane

1.618

Op woensdag 21 november 2001 15:26 schreef Exodus het volgende:
Dat zou per gebruiker zijn, niet alle gebruikers opgeteld.
Dus geen "Totale hits" zeg maar.
Of heb ik cookieles gespijbeld? :)
klopt, per gebruiker ; per pagina...

maar aangezien topicstarter zelf verder totaal niet uitlegt wat ie met dat stukkie koot wil doen, blijft 't raden naar de 'beste' oplossing ...
je zou ook een urlencoded variable mee kunnen sturen vanaf 't moment dat je op de site zit. gewoon achter ieder url plakken, maar ja, da's ook rot ;) :+

Verwijderd

/me had "eenmalig een variabele aanmaken" opgevat als globaal, dus voor iedereen dezelfde var.
Maar je hebt verder helemaal gelijk.

"6 weken geen sex !? dan trek ik niet!" ... 't is maar hoe je instelling is :+

  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 12:07

TheDane

1.618

Op woensdag 21 november 2001 15:34 schreef Exodus het volgende:
/me had "eenmalig een variabele aanmaken" opgevat als globaal, dus voor iedereen dezelfde var.
Maar je hebt verder helemaal gelijk.

"6 weken geen sex !? dan trek ik niet!" ... 't is maar hoe je instelling is :+
't ligt er aan hoe je die 'eenmalig' interpreteert .. eenmalig in 1 script ? in 1 sessie ? in 1 jaar ? in 1 dag?

't is dat btw ..
Pagina: 1