2016-07-21 3 views
-6
<?php 
if(isset($_POST['tt1']) && isset($_POST['tt2']) && isset($_POST['tt3']) && isset($_POST['tt4'])){      
    $con = mysqli_connect("localhost","root","","weblib"); 
    if(mysqli_connect_errno()){ 
     echo "Could not connect."; 
    } 
    $query = "SELECT * FROM login WHERE MEMBER_NAME = '{$_POST['tt1']}'"; 
    $queryArray = mysqli_fetch_array(mysqli_query($con,$query)); 
    if($_POST['tt2']==$_POST['tt3']){     
     if(empty($queryArray['MEMBER_NAME'])){ 
      mysqli_query($con,"UPDATE login SET MEMBER_NAME = '{$_POST['tt1']}', PASSWORD = '{$_POST['tt2']}' WHERE MEMBER_NAME = '{$_POST['tt4']}'"); 
      echo " 
       <script language='javascript'> 
        window.alert('Profile information successfully updated. Click ok to continue'); 
       </script> 
       "; 
     } 
     else{ 
      echo " 
       <script type='javascript'> 
        window.alert('Username already exists. Please choose a different username'); 
       </script> 
       "; 
     } 
    } 
    else 
     echo " 
      <script type=javascript> 
       window.alert('Passwords do not match'); 
      </script> 
      "; 
} 

sonst Teil für den 'Passwörter nicht übereinstimmen' Teil wird nicht ausgeführt. Das gleiche passiert auch für eine andere Seite. Es gibt keinen MySQL-Fehler, weil alles andere perfekt funktioniert. Nicht, dass der else-Teil, der "username exists exists" sagt, auch perfekt funktioniert. Nur der äußere else wird nicht ausgeführt.Sonst Teil funktioniert nicht. Gründlich geprüft, keine solche Lösung gefunden

+3

[MVCE] (http:// Stackoverflow.com/help/mcve) und bleiben [on-topic] – Jonathan

+0

Hexe sonst funktioniert nicht? –

+2

Verwenden Klammern für Sekunde würde helfen? sonst {} – ahajib

Antwort

-1

Eigentlich ist das Problem mit dem Typ Teil Ihres Script-Tag ist. Es sollte sein:

<script type='text/javascript' language='javascript'> 

Sie können jedoch den einfachen Tag verwenden, da alle Browser, die jetzt unterstützt werden.

Also, die sonst Teil dazu ändern:

else { 
    echo " 
     <script> 
      alert('Passwords do not match'); 
     </script> 
    "; 
} 

Nach PSR, ich Klammern immer empfehlen, für Blockcodes zu verwenden.

+0

Nach diesem Ding erwähnte jemand anderes, dass Sie nicht gestört werden könnten, um ein richtiges Zitat von zu suchen, Sie meinen? PSR, oder genauer PSR-2, erwähnt nichts, aber impliziert die Verwendung von Klammern. Ihre Antwort zeigt nicht, dass Sie PSR-2 verstehen, sonst hätten Sie wahrscheinlich bemerkt, dass "else" und "elseif" sich in derselben Zeile befinden wie die schließende Klammer des früheren Körpers. " – Jonathan

+0

@ Jonathan, Vielleicht habe ich zu kurz erklärt. Das Problem war nicht wegen PSR. Das ist sicher nur, um Codes klar zu machen. Ich habe meine Antwort aktualisiert. – Mojtaba

-2
echo " 
      <script type=javascript> 
       window.alert('Passwords do not match'); 
      </script> 
      "; 

Bitte fügen Sie Zitate, type = 'javascript'

+0

Zitate sind optional in HTML5 https://www.w3.org/TR/html5/syntax.html - Unquoted Attribut Wert Syntax – Jonathan

+0

^war etwa dies zu erwähnen, danke. – Nope

+0

Sind Sie sicher, dass der Themeninhaber html5 verwendet? Ich bin nicht. So scheint es, dass Sie so richtig wie falsch sein können, Jonathan – Vyacheslav

Verwandte Themen