Gå til innhold

[LØST]Sjekke om en bruker finnes.


Anbefalte innlegg

Jeg har laget et registrerings felt for siden, hadde tidligere problemer med å legge til en bruker ( nærmere bestemt oppdatere et kundenummer i databasen ) som nå er fikset.

 

Problemet nå er at jeg ønsker å sjekke imor databasen ( tabellen kundenavn ) å sjekke om kunden allerede er registrert.. Koden trenger en del oppussing....

 

Klikk for å se/fjerne innholdet nedenfor

 

$query1="select * from kundenavn"; // tabell kundenavn med atributter kundeid, . //kundenavn og kundepassord

$stmt = baseQuery($conn, $query1);

 

// hva skal jeg gjøre etter dette :hmm:

 

Endret av ummairt
Lenke til kommentar
Videoannonse
Annonse

Hva slags info har du om kunden? Dvs. hvilken info vil du sjekke om allerede finnes?

For å sjekke om f.eks. emailadressen allerede er registrert kan du gjøre slik:

PHP

<?php

/* 

LIMIT 1 er egentlig bare optimalisering ettersom vi vet at 

emailadressen bare er registrert èn gang (for det er vel poenget her), 

og trengs egentlig ikke dersom email f.eks. har attributen UNIQUE 

(noe den burde ha dersom du vil at emailadresser bare skal brukes èn gang)

*/

$res mysql_query"SELECT email FROM kunde WHERE email = '".$ny_email."' LIMIT 1 " );

if( mysql_num_rows$res ) > )

echo 'emailen eksisterer allerede';

else

echo 'emailen er ikke registrert i databasen';

?>

Endret av Nazgul
Lenke til kommentar

Takk for svar,

 

Men problemet her er at jeg ikke er kjent med bruk av mySQL, ( det er vel noe forskjell mellom syntaksen til SQL og mysql , og jeg tror ikke UiO sin database server støtter mySQL.... Jeg prøvde med syntaksen du ga .. men det fungerte uheldigvis ikke ... feilmeldingen jeg fikk var....

 

Klikk for å se/fjerne innholdet nedenfor
Warning: mysql_query() [function.mysql-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /uio/aristoteles/s02/ummairt/www_docs/php/webformskrivutinndata.php on line 16

 

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /uio/aristoteles/s02/ummairt/www_docs/php/webformskrivutinndata.php on line 16

 

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /uio/aristoteles/s02/ummairt/www_docs/php/webformskrivutinndata.php on line 17

emailen er ikke registrert i databasenGratulerer, du kan nå logge deg på med ummairt som brukernavn, og bestille deg mat

Lenke til kommentar
Warning: mysql_query() [function.mysql-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /uio/aristoteles/s02/ummairt/www_docs/php/webformskrivutinndata.php on line 16

 

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /uio/aristoteles/s02/ummairt/www_docs/php/webformskrivutinndata.php on line 16

8444933[/snapback]

Ser ut for meg som du ikke får koblet til databasen, kan det hende at socket-filen ikke ligger der du tror den ligger?

 

Googlet feilmeldingen din, kanskje dette er trikset: http://www.tech-recipes.com/mysql_tips762.html

 

Sjansene er store for at det har noe med oppsettet til UiO å gjøre og at det lett kan fikses! Du må bare finne riktig person å spørre, kanskje en termvakt?

Lenke til kommentar

Fant opp en annen måte å løse problemet på ... men jaggu meg så dukka det atter opp et nytt problem ( løsningen var forøvrig å ha kundenummer definert som UNIQUE i tabellen )

 

Jeg klarer nå å få en oci_excecute protestasjon :D ..... Det jeg ønsker nå er et denne meldingen ikke dukker opp , altså at det bare skrives at brukernavnet allerede er i bruk , prøv med noe annet ....

Koden har fått følgende utforming :ermm:

 

 

$check = oci_execute($statement);

if(!$check){

print "$navn er allerede i bruk";

header(registrer.php);

}
else{
print "Gratulerer, du kan nå logge deg på med $navn som brukernavn, og bestille deg mat";
}


 */ feilmeldingen jeg ønsker å fjerne er 

Warning: oci_execute() [function.oci-execute]: ORA-00001: unique constraint (UMMAIRT.SYS_C00399297) violated in /uio/aristoteles/s02/ummairt/www_docs/php/webformskrivutinndata.php on line 32


*/

Lenke til kommentar
Fant opp en annen måte å løse problemet på ... men jaggu meg så dukka det atter opp et nytt problem ( løsningen var forøvrig å ha kundenummer definert som UNIQUE i tabellen )

 

Warning: oci_execute() [function.oci-execute]: ORA-00001: unique constraint (UMMAIRT.SYS_C00399297) violated in /uio/aristoteles/s02/ummairt/www_docs/php/webformskrivutinndata.php on line 32

[/code]

8452698[/snapback]

 

Prøver du å sette inn en verdi i databasen som må være unik og allerede eksisterer?

 

Tror du kan fjerne feilmeldingen ved å sette @ foran kommandoen som genererer den, men dette er ikke spesielt pent, for per definisjon er det en feil med koden din.

 

Du bør kanskje sjekke om verdien du skal sette inn i databasen allerede eksisterer og hvis den ikke gjør det kan du sette inn verdien.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...