Brugernavn:




Kodeord: Husk
Forside Forum Artikler Downloads Sřg
 

$_post kontrollerer inden klik på knap

Jeg har lidt problemer med et projekt jeg går og roder med..

I toppen af mit projekt definerer jeg:

  1. $passwordIsEmpty = false;    
  2. $password2IsEmpty = false;

Så connecter jeg til min database, og scriptet siger:

  1. if ($_SERVER["REQUEST_METHOD"] == "POST") {
Herunder sker alle mulige ting, inkl at kontrollere om det indtastede brugernavn allerede eksisterer, om passwords er rigtige osv..

Det der så bare undrer mig, er at selvom testen af password hedder:

  1. //Tests if the passwords are alike and is filled.

  2. if ($_POST["password"]=="")
  3. $passwordIsEmpty = true;
  4. if ($_POST["password2"]=="")
  5. $password2IsEmpty = true;
  6. if ($_POST["password"]!=$_POST["password2"]) {
  7. $passwordIsValid = false;} 

Så er det som om at allerede i det jeg loader siden, går den ind og ser at password feltet er tomt, og melder fejlen med det samme som bliver kaldt der hvor tekstfeltet bliver fremkaldt:

  1. Password: <input type="password" name="password"/><br/>

  2. <?php
  3. if ($passwordIsEmpty) {
  4. echo ("Enter the password, please!");
  5. echo ("<br/>");
  6. }
  7. ?>
Det samme hvis der ved en fejl ender noget i min table med tomt username og tomt password, vil den allerede på load melde fejl ved at der allerede findes en med det brugernavn. Dette kontrolleres her:


  1. //Checking if the name is already in use
  2. $user = mysql_real_escape_string($_POST["user"]);
  3. $query = mysql_query("SELECT id FROM Wishlist WHERE user='$user'");
  4. $wisherIDnum = mysql_num_rows($query);

  5. if ($wisherIDnum) {
  6. $userNameIsUnique = false;

Håber ikke dette er alt for uoverskueligt.. Skal gerne give flere oplysninger om nødvendigt, men håber lidt at der er en mening med galskaben, så at sige :-P

Nogen som kan hjælpe? :-)
Sidst redigeret 15:57 26/01/2012
Oprettet af:

PHP

Fri debat

Ĺben
15:51 26/01/2012
Ville det ikke være nemmere at bruge isset.
Oprettet af:

Kommentar
16:15 26/01/2012
Bruge isset hvorhenne?
Oprettet af:

Kommentar
17:39 26/01/2012
  • if ($_POST["password"]=="")
Ændre den til isset.
Oprettet af:

Kommentar
18:01 26/01/2012
Hvad ville den så komme til at hedde? Har overvejet det, men kan ikke helt lure hvordan den skal se ud når det drejer sig om at værdien skal være 0? Agtigt :)
Oprettet af:

Kommentar
18:08 26/01/2012
Jeg har sagt noget forkert.
Det er nok nemmere at bruge if empty
  1. if (empty(($_POST["password"])) {
  2.      $passwordIsEmpty = true;
  3. }
Oprettet af:

Kommentar
18:21 26/01/2012
Den gør det stadig :-)
Oprettet af:

Kommentar
18:47 26/01/2012
Og så filføjer du en

if (isset($_POST)) {
Check password osv.
}
Oprettet af:

Kommentar
18:53 26/01/2012
stadig :-) Se evt http://pcvib.ano.dk/test og vælg "Create new wisher" for at se fejlen :-)
Oprettet af:

Kommentar
19:33 26/01/2012
Jeg kan få den til at holde op med at fejle i det med password, men så begynder den at fejle i det at den så kører hele scriptet inkl post når siden loades.. Dvs når jeg loader siden, indtaster den en bruger med tomt username og tomt password, og næste gang jeg loader siden kommer den og siger at brugeren findes i forvejen.
Oprettet af:

Kommentar
19:46 26/01/2012
Du skal vćre oprettet og logget ind for at svare pĺ en trĺd
Copyright © Rowl.dk v/ Michael Raagaard | 2005-12 | Alle rettigheder forbeholdes