login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Onbedoelde echo, (ELSE wordt uitgevoerd voor IF?) (Opgelost)

Offline Gracchio - 29/10/2008 11:29 (laatste wijziging 29/10/2008 12:45)
Avatar van GracchioNieuw lid Beste forumgenoten, ik ben nog niet echt goed met php en html en ik snap niet wat er fout gaat. Het komt er op neer dat er een foutbericht dat in een ELSE staat al weergegeven wordt zodra het script wordt uitgevoerd. (regel 38, echo "Customer number is invalid";) Dit script is gericht op verplichte velden.

http://www.plaatscode.be/34167/

Bedankt voor het kijken en alvast bedankt voor jullie reacties 

titjes schreef:
Lappen code op www.plaatscode.be!

5 antwoorden

Gesponsorde links
Offline Wijnand - 29/10/2008 11:34
Avatar van Wijnand Moderator Je moet een check uitvoeren of er wel een post is gedaan of niet. Ik snap alleen niet helemaal wat je wilt bereiken met de code en het is nogal veel code, dus had geen zin om de hele code door te spitten, maar het komt er op neer dat je dit doen:

als sendproject bestaat en customnumber klopt niet (regex) dan een error geven (Enter a valid Customer Number)

EN ANDERS

kijken of dat nummer in de DB voorkomt.

Nu is dat op zich niet fout maar als je voor het eerst op de pagina komt (zonder versturen) dan doet hij dezelfde check. De eerste doet hij niet omdat hij geen $_POST['sendproject'] heeft dus gaat hij naar de anders. In de database staat niets wat leeg ('') is en dus geeft hij de error weer.

Je moet dus nog ergens anders een check doen of de pagina al gepost is of niet. Zo niet, dan moet hij een heel stuk van de code overslaan. Dit kan bv met: if !empty($_POST) { //code uitvoeren } else { // formulier }
Offline Gracchio - 29/10/2008 13:48
Avatar van Gracchio Nieuw lid ok ik weet wat er aan de hand is en heb dus bij de query gezet dat ie de code alleen moet uitvoeren als er iets in staat, maar dan wordt er niks meer weergegeven.

  1. if(isset($_POST['CustomerNumber']) != empty)
  2. {
  3. $query = mysql_query("SELECT Customer_Number FROM Customer
  4. WHERE Customer_Number = '".$_POST['CustomerNumber']."'");
  5. $res = mysql_query($query);
  6. $result = strlen($res);
  7. if($result != 0)
  8. {
  9. echo "Customer number is invalid";
  10. }
  11. }


Btw hoeveel regels is een lap code? 
Offline Wijnand - 29/10/2008 13:52
Avatar van Wijnand Moderator
  1. if(!empty($_POST['CustomerNumber'])) {
  2. $query = mysql_query("SELECT Customer_Number FROM Customer WHERE Customer_Number = '".$_POST['CustomerNumber']."'");
  3. $res = mysql_query($query);
  4. $result = strlen($res);
  5. if($result != 0) {
  6. echo "Customer number is invalid";
  7. }
  8. }


zo dan?
Offline Abbas - 29/10/2008 14:07
Avatar van Abbas Gouden medaille

Crew .NET
Citaat:
Btw hoeveel regels is een lap code?
Tot ongeveer 50 regels kan je hier posten, dit staat trouwens in de forumregels.. 
Offline Gracchio - 06/11/2008 13:43
Avatar van Gracchio Nieuw lid ah ja thx, sorry ben allemaal druk bezig met een schoolproject beetje te gehaast te werk gegaan
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.198s