Log ind med "function()"

Tags:    php

<< < 12 > >>
Jeg prøver at forstå "function()", ved at lave et login-script.

Men jeg kan ikke få den til at udføre mysql query's og lign.

Så er der nogen der kan forklare mig hvordan man gør?

login.php
Fold kodeboks ind/udKode 


functions.php
Fold kodeboks ind/udKode 





Indlæg senest redigeret d. 29.08.2010 01:43 af Bruger #10114
Så'n helt basalt, så er en funktion blot en bunke koder du samler under eet navn.



Du burde overveje at sende $_POST["username"] og $_POST["password"] som argumenter, hvis du så senere retter der navne skal du ikke rette i funktions koden.

Fold kodeboks ind/udKode 


Det måske ikke så tydeligt at du spare noget i det eksempel, men hvis man antog du har flere funktioner der tilgik de to værdier:

Her skal du kun rette flere når du ændre navnene på de globable variabler.
Fold kodeboks ind/udKode 



Her skal du kun rette et sted når du ændre navnene på de globable variabler.
Fold kodeboks ind/udKode 



En indlysende grund til at din SignIn funktion ikke foretager nogen mysql kald er at der ikke er nogen. Antager rimelig meget at du må have rettet i funktionen før du viste den i forummet.



Okay, det gav mere mening.

Jeg skriver hvis jeg der kommer mere.

Jeg skrev indlægget fra min tlf, og det tager så langt tid at skrive det hele, så derfor jeg ikke skrevin mysql query.



Okay, jeg er kommet frem til dette her, og jeg kan ikke gennemskue hvad det er der forsager denne fejl:

"Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in E:\System\Localhost\xampp\htdocs\www\borgen44\inc\functions.php on line 13"

Fold kodeboks ind/udPHP kode 




Indlæg senest redigeret d. 31.08.2010 17:13 af Bruger #10114
Fold kodeboks ind/udPHP kode 

skal se sådan her ud
Fold kodeboks ind/udPHP kode 




Indlæg senest redigeret d. 31.08.2010 19:35 af Bruger #15047
Ah, selvfølgelig...

Men manglede vidst også at ændre:

Fold kodeboks ind/udPHP kode 


Til:

Fold kodeboks ind/udPHP kode 



Men er der nogen der kan forklare mig hvorfor man skal have den her med?:

Fold kodeboks ind/udKode 


Og hvorfor man skal skrive:

Fold kodeboks ind/udKode 


Foran

Fold kodeboks ind/udKode 




Indlæg senest redigeret d. 31.08.2010 20:13 af Bruger #10114
En funktion kan returnere en værdi, for at fortælle funktionen hvilken værdi der skal returneres skriver du (i PHP) "return værdi;".

Der er ikke nogen grund til at skrive:

$result = værdi;
return $result;

det kan rettes til

return $værdi;

Medmindre du forarbejder værdien før du returnere den (gør du ikke i dit tilfælde.)





Burde dette ikke være muligt?:

Fold kodeboks ind/udPHP kode 







hvis du retter linie 3 til :
$result = mysql_query($string) or die(mysql_error());

Vil php dø med den fejl, hvis nogen, du har i din mysql.


linie 19 er forkert:
$row[first_name];

Medmindre du har lavet en konstant "first_name" får du PHP til først at lede efter en sådan konstant og derefter konverterer first_name til strengen 'first_name'. Skriv i stedet:
$row['first_name'];

Din function hedder MySQLConnect, men den connecter ikke den udføre en forespørgsel (query).

I det hele taget er der ikke nogen mysql_connect i den kode du vise, hvis den ikke er der er det sandsynligt det er din fejl.





Linje 3: ved godt man egentligt skriver "or die(mysql_error());" bag "$result = mysql_query($string)", men jeg laver det kun lige det mest basale.

Linje 19: Bare en stavefejl, da den kode jeg har skrevet, ikke er den originale, men kun lige det nødvendige, for at kunne få hjælp.

Grunden til at min funktion "MySQLConnect();" hedder hvad den hedder, ved det ikke, skulle bare kalde den et eller andet.

Men viser lige hvordan mit site er opbygget:

config.php
Fold kodeboks ind/udPHP kode 

mysql_open.php
Fold kodeboks ind/udPHP kode 

functions.php
Fold kodeboks ind/udPHP kode 

profil.php
Fold kodeboks ind/udPHP kode 

mysql_close.php
Fold kodeboks ind/udPHP kode 




Indlæg senest redigeret d. 02.09.2010 13:59 af Bruger #10114
<< < 12 > >>
t