Gå til innhold

Diverse SQL spørsmål


Anbefalte innlegg

Videoannonse
Annonse

Er litt nuub når det kommer til php ser det nok ut som :blush:

 

Error'en er borte, men jeg kan fortsatt registrere meg med samme brukernavn to ganger.

$sql = "SELECT * FROM members WHERE brukernavn = '" . $_POST['Brukernavn'] ."'";
$res = mysql_query($sql) or die("FEIL:" . mysql_error());
$hits = mysql_num_rows($res);

if($hits != 0) { // Fant en eller flere andre med oppgitt brukernavn

echo "Brukernavn finnes fra før, velg et annet";
mysql_close();
 
}
else {

Og querien printet ut:

SELECT * FROM members WHERE brukernavn = 'Jonas'

Lenke til kommentar

okay, det med queryet var ikke så farlig lenger i og med at det sannsynligvis ble fikset. men kjektå få fram poenget.

 

å skrive ut ting og tang er et meget nyttig debughjelpemiddel, idet det viser hva du faktisk har i de vairablene du har i din applikasjon. så forhåpentligvis tok du det poenget :)

 

har du drevet med programmering før? det virker som det du sliter med er mere generell programmingstankgegang enn phpsyntaks.

Lenke til kommentar

Jepp, det kan jeg!

 

PHP koden: (registrer.php)

<?php

mysql_connect("localhost","karlsrudlan","*****");
@mysql_select_db("karlsrudlan") or die( "Unable to select database"); 

if($_POST['Passord'] == $_POST['Bekreft'])
{

$sql = "SELECT * FROM members WHERE brukernavn = '" . $_POST['Brukernavn'] ."'";
$res = mysql_query($sql) or die("FEIL:" . mysql_error());
$hits = mysql_num_rows($res);

if($hits != 0) { // Fant en eller flere andre med oppgitt brukernavn

 echo "Brukernavn finnes fra før, velg et annet";
 mysql_close();
 
}
else {
 
 $brukernavn = $_POST['Brukernavn'];
 $passord = $_POST['Passord'];
 $navn = $_POST['Navn'];
 $etternavn = $_POST['Etternavn'];
 $mail = $_POST['Mail'];
 $telefonnr = $_POST['Telefonnr'];
 $adresse = $_POST['Adresse'];
  
 $insertMySQL = "insert into members (brukernavn, passord, navn, etternavn, mail, telefon, adresse, aktiv)
 values ($brukernavn, $passord, $navn, $etternavn, $mail, $telefonnr, $adresse, 'nei')";
 mysql_query($insertMySQL);
 mysql_close();
 
 echo "Du er registrert!";

}

}
else
{

echo "Skriv inn to like passord!";

}

?>

 

Formen:

<form action="registrer.php" method="post">

	<P>E-post adressen må være gyldig! Du må bekrefte registreringen ved å trykke på en link som blir sendt.</P>

	<TABLE BORDER="0">

		<TR>

			<TD><P>Brukernavn:</P></TD>
			<TD><input name="Brukernavn" size="20"/></TD>

		</TR>

		<TR>

			<TD><P>Passord:</P></TD>
			<TD><input name="Passord" size="20"/></TD>

		</TR

		><TR>

			<TD><P>Bekreft passord:</P></TD>
			<TD><input name="Bekreft" size="20"/></TD>

		</TR>

		<TR>

			<TD><P>Navn:</P></TD>
			<TD><input name="Navn" size="20"/></TD>

		</TR>

		<TR>

			<TD><P>Etternavn:</P></TD>
			<TD><input name="Etternavn" size="20"/></TD>

		</TR>

		<TR>

			<TD><P>E-Mail:</P></TD>
			<TD><input name="Mail" size="20"/></TD>

		</TR>

		<TR>

			<TD><P>Adresse:</P></TD>
			<TD><input name="Adresse" size="20"/></TD>

		</TR>

		<TR>

			<TD><P>Telefonnr:</P></TD>
			<TD><input name="Telefonnr" size="20"/></TD>

		</TR>

	</TABLE>

	<input type="submit" value="Meld meg på!"/>

	</form>

Endret av Jonas
Lenke til kommentar

uhm,

 

du trenger ikke lage en ny variabel for hvert "punkt" her:

$brukernavn = $_POST['Brukernavn'];
$passord = $_POST['Passord'];
$navn = $_POST['Navn'];
$etternavn = $_POST['Etternavn'];
$mail = $_POST['Mail'];
$telefonnr = $_POST['Telefonnr'];
$adresse = $_POST['Adresse'];

 

$_POST[] kan brukes i queryen ;)

Lenke til kommentar
du sjekker aldri for feil i din siste insert som faktisk setter inn brukernavn.

 

ta en titt på koden her:

www.nt.ntnu.no/~lindahl/php/jonas.php.html

echo $brukernavn;
echo "<BR>Du er registrert!";

Da for jeg jo opp det jeg skrev som brukernavn.

 

Hva er det du vil frem til? Er vannskelig å se på koden og bli klokere, når jeg ikke vet hva jeg ser etter!

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...