Avatar billede andreas134 Nybegynder
31. juli 2010 - 14:35 Der er 11 kommentarer og
1 løsning

indsætte div et bestemt sted

hej
jeg har et system hvor at en bruger kan gemme noget
- det er underordnet

når brugeren har gemt kommer der en notits som hedder: "ændringerne blev gemt"

den notits for jeg frem ved at kalde function Jeg kalder "notice()"

den ser sådan ud :

function notice($text){
    return '<div class="notice">'.$text.'</div>';
}


men jeg kalder ikke funktionen lige der hvor <div> skal være.
og derfor vil jeg gerne lave noget hvor jeg kan bestemme præsis hvor den kommer.

jeg har kigget lidt på php.net og fandt ikke rigtig noget
jeg ved man kan gøre det med javascript
men kan man virkelig ikke med php ?
Avatar billede r.hegaard Nybegynder
31. juli 2010 - 16:02 #1
Du må sørge for, at det du gemmer bliver gemt før dit PHP-script når dertil, hvor du gerne vil have din div. Så kan du der lave en variabel, hvor du gemmer, der indeholder om der blev gemt noget.
Så kan du senere tjekke på den variabel for at se, om du skal kalde din notice()-funktion.
Avatar billede andreas134 Nybegynder
31. juli 2010 - 17:09 #2
teknisk kan det ikke lade sig gøre.
men jeg har fundet på noget andet.

i min funktion definere jeg en konstant som jeg senere(der hvor <div> skal være) tjækker om den er defineret hvis den er så printer den div'en

men det kan jeg sku ikke finde ud af :)
altså det med at tjække
har prøvet med :
if(defined('notice'))
Avatar billede andreas134 Nybegynder
31. juli 2010 - 17:14 #3
nej det passer ikke jeg kan ikke finde ud af at definere dem har prøvet med:


function notice($text){
define("notice",$text);
}
Avatar billede r.hegaard Nybegynder
31. juli 2010 - 20:58 #4
Jeg er ikke sikker på, at du har forklaret dit spørgsmål præcist nok så, når du siger, at det teknisk set ikke kan lade sig gøre, for som jeg forstå det burde det uden problemer kunne virke.

Du skal være opmærksom på, at når du definerer en variabel inde i en funktion, så er den ikke sat udenfor funktionen.

Med define()-funktionen definerer du en konstant.

Kan du ikke bare gøre noget i retning af følgende:

$success = false;
if( save() )
{
  $success = true;
}

...

if( $success )
{
  notice('Min tekst...');
}

Jeg ved selvfølgeligt ikke, hvordan din kode ser ud, når du ikke har postet ret meget, men du burde kunne relatere ovenstående til dit eget.
Avatar billede andreas134 Nybegynder
31. juli 2010 - 23:05 #5
Jeg Har ikke fået forklaret mig ordenligt
Jeg kalder funktionen med et parameter og det parameter er teksten der skal stå
Og ja jeg ved godt ar variabler som er defineret i en funktion kun bliver inde i funktionen
Det var også derfor jeg ville lave en konstant
______
Kaldes:

notice("ændringerne blev gemt");


Funktion

function notice($text){
define(notice,$text);
}


Burde man ikke kunne printe den konstant udenfor funktionen?
Avatar billede r.hegaard Nybegynder
31. juli 2010 - 23:49 #6
Jo, det tror jeg også virker, men jeg forstå stadig ikke helt, hvad du vil og hvorfor du vil kalde din konstant det samme som din funktion?

Men du kan også bare lave din variabel global. Læs evt. http://php.net/manual/en/language.variables.scope.php
Avatar billede andreas134 Nybegynder
01. august 2010 - 00:13 #7
Okay jeg laver mit spørgsmål om

Jeg vil gerne kunne definere noget inde i en funktion og så kunne printe det udenfor funktionen. Og så er jeg faktisk ligeglad om det er en variabel eller konstant eller noget helt tredje:)
Avatar billede zynzz Praktikant
01. august 2010 - 11:29 #8
Jeg kan ikke se hvorfor at #4 ikke skulle kunne virke?
Det med at kalde en funktion for at definere en streng for så igen at kalde den defination, så er vi jo tilbage til hvor det er nemmere at kalde den funktion.. :)
Avatar billede andreas134 Nybegynder
01. august 2010 - 23:31 #9
Jammen hvad så med min tekst?
Jeg kan altså ikke se hvordan den kommer fra parameteret til variablen? :)
Avatar billede r.hegaard Nybegynder
02. august 2010 - 17:54 #10
Jeg er stadig ikke helt med, kan du ikke lige prøve at uddybe dine spørgsmål?
Avatar billede andreas134 Nybegynder
03. august 2010 - 11:11 #11
jeg undskylder forvirringen jeg har fundet ud af det nu :)

hvis i vil have point så lig et svar
Avatar billede r.hegaard Nybegynder
18. august 2010 - 22:14 #12
Tak for point :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester