Form-Code wird nicht aufgerufen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Form-Code wird nicht aufgerufen

    Hey,

    folgendes Problem:
    Ich habe ein Formular erstellt, mit dem ich die E-Mail und den Benutzernamen ändern kann.
    Jedoch wird der E-Mail-Teil nicht ausgeführt. "echo "email" Wird ebenfalls nicht angezeigt.

    PHP-Quellcode

    1. <?php
    2. session_start();
    3. include_once("/templates/index_li.tpl");
    4. include_once("/templates/einstellungen.tpl");
    5. include_once("db.php");
    6. if(isset($_POST['ch_button']))
    7. {
    8. if(isset($_POST['ch_name']) && !empty($_POST['ch_name']))
    9. {
    10. $query = "SELECT * FROM user WHERE username ='".$_POST['ch_name']."'";
    11. $result = mysqli_query($db,$query);
    12. if(mysqli_num_rows($result) > 0)
    13. {
    14. ?><html>
    15. <body>
    16. <div class="lg-alert" style="padding-left: 50px; padding-right: 50px">
    17. <div class="alert alert-danger alert-error">
    18. <strong>Fehler!</strong> Benutzer wird bereits verwendet!<br>
    19. </div></div>
    20. </body>
    21. </html><?php
    22. }
    23. else
    24. {
    25. $que = "UPDATE user SET username ='".$_POST['ch_name']."' WHERE username ='".$_SESSION['loggedname']."'";
    26. $res = mysqli_query($db,$que);
    27. ?><html>
    28. <body>
    29. <div class="alert alert-success">
    30. <a href="#" class="close" data-dismiss="alert">&times;</a>
    31. <strong>Done</strong> Erfolgreich gespeichert!
    32. </div>
    33. </body>
    34. </html>
    35. <?php
    36. }
    37. }
    38. else if(isset($_POST['ch_mail']) && !empty($_POST['ch_mail']))
    39. {
    40. if(filter_var($_POST['ch_mail'],FILTER_VALIDATE_EMAIL))
    41. {
    42. echo "mail";
    43. ?><html>
    44. <body>
    45. <div class="lg-alert" style="padding-left: 50px; padding-right: 50px">
    46. <div class="alert alert-danger alert-error">
    47. <strong>Fehler!</strong> Korrekte E-Mail angeben!<br>
    48. </div></div>
    49. </body>
    50. </html><?php
    51. }
    52. else
    53. {
    54. $que = "UPDATE user SET email ='".$_POST['ch_mail']."' WHERE username ='".$_SESSION['loggedname']."'";
    55. $res = mysqli_query($db,$que);
    56. ?><html>
    57. <body>
    58. <div class="alert alert-success">
    59. <a href="#" class="close" data-dismiss="alert">&times;</a>
    60. <strong>Done</strong> Erfolgreich gespeichert!
    61. </div>
    62. </body>
    63. </html>
    64. <?php
    65. }
    66. }
    67. }
    68. ?>
    Alles anzeigen
  • Nein, Codeblock wird nicht aufgerufen.

    Quellcode

    1. ​<form class="form-horizontal" action="index.php?section=editprofile" method="POST">
    2. <fieldset>
    3. <!-- Form Name -->
    4. <legend>Benutzerdaten ändern</legend>
    5. <!-- Text input-->
    6. <div class="form-group">
    7. <label class="col-md-4 control-label" for="ch_name">Benutzername</label>
    8. <div class="col-md-5">
    9. <input id="ch_name" name="ch_name" type="text" placeholder="Benutzername" class="form-control input-md">
    10. <span class="help-block">Benutzername ändern</span>
    11. </div>
    12. </div>
    13. <!-- Text input-->
    14. <div class="form-group">
    15. <label class="col-md-4 control-label" for="ch_email">Email</label>
    16. <div class="col-md-5">
    17. <input id="ch_email" name="ch_email" type="text" placeholder="max.mustermann@mail.de" class="form-control input-md">
    18. <span class="help-block">E-Mail ändern</span>
    19. </div>
    20. </div>
    21. <!-- Password input-->
    22. <div class="form-group">
    23. <label class="col-md-4 control-label" for="ch_pw">Passowort</label>
    24. <div class="col-md-5">
    25. <input id="ch_pw" name="ch_pw" type="password" placeholder="Passwort" class="form-control input-md">
    26. <span class="help-block">Passwort ändern</span>
    27. </div>
    28. </div>
    29. <!-- Password input-->
    30. <div class="form-group">
    31. <label class="col-md-4 control-label" for="ch_passwort_rep">Passwort wiederholen</label>
    32. <div class="col-md-5">
    33. <input id="ch_passwort_rep" name="ch_passwort_rep" type="password" placeholder="Passwort" class="form-control input-md">
    34. <span class="help-block">Eingabe wiederholen</span>
    35. </div>
    36. </div>
    37. <!-- Prepended checkbox -->
    38. <div class="form-group">
    39. <label class="col-md-4 control-label" for="ch_email">E-Mail öffentlich anzeigen</label>
    40. <div class="col-md-5">
    41. <div class="input-group">
    42. <span class="input-group-addon">
    43. <input type="checkbox">
    44. </span>
    45. <input id="ch_email" name="ch_email" class="form-control" type="text" placeholder="E-Mail">
    46. </div>
    47. <p class="help-block">Soll die E-Mail von jedem gesehen werden?</p>
    48. </div>
    49. </div>
    50. <!-- Button -->
    51. <div class="form-group">
    52. <label class="col-md-4 control-label" for="ch_button"></label>
    53. <div class="col-md-4">
    54. <button id="ch_button" name="ch_button" class="btn btn-primary">Absenden</button>
    55. </div>
    56. </div>
    57. </fieldset>
    58. </form>
    Alles anzeigen


    Das ist das Formular. ( Falls es hilft )
  • Okay, wenn du das alles in einem Formular updatest, dann würde ich an deiner Stelle einen großen Query bauen, jeden Parameter überprüfen, ob er gesetzt ist und dann entsprechend in den Query übernehmen.
    Damit du nicht deinen ganzen Code umschreiben musst. Überprüf, ob ch_name leer is und wenn ja, setz es auf FALSE und das ganze vor Zeile 12, damit er den if-Block überspringt.
  • Alles klar; Vorher aber noch eine Frage:

    PHP-Quellcode

    1. <?php
    2. if(isset($_POST['ch_button']))
    3. {
    4. $form_1;
    5. $form_2;
    6. if(!empty($_POST['ch_name'])) ? $form_1 = true : $form_1 = false;
    7. else if(!empty($_POST['ch_mail'])) ? $form_2 = true : $form_2 = false;
    8. $query = "UPDATE user SET username='"if(!$form1)?.$_SESSION['loggedname']. : .$_POST['ch_name']."',email='"if(!$form_2)?.$user->u_mail. : .$_POST['ch_mail']."'WHERE username ='".$_SESSION['loggedname']."'";
    9. }
    10. ?>
    Alles anzeigen


    Das müsste doch theoretisch funktionieren, oder?

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Manniac ()

  • PHP-Quellcode

    1. if (isset($_POST['ch_button']) {
    2. $name = (!empty($_POST['ch_name'])) ? 'username = "' . $_POST['ch_name'] . '"' : false;
    3. $mail = (!empty($_POST['ch_mail'])) ? 'email = "' . $_POST['ch_mail'] . '"' : false;
    4. $query = 'UPDATE user SET ' . $name . ', ' . $mail . ' WHERE username = "' . $_SESSION['loggedname'] . '"';
    5. }

    Finde ich persönlich schöner, aber rein syntaktisch funktioniert dein Code genauso.