dimanche 11 juin 2017

sql query saves are gone after checkbox submit

I try to find that fail in my code, but i cant see it. Its my first time that i write an registration interface, login interface and an separate function. The registration and loginpart is ok, but if i try to send the checkbox values i loose the query informaion for id = empty and co. and i dont know why, but i need it for the next steps. Hope for help thx.

The Code:

mysql_select_db(MYSQL_DATENBANK_6);
    if ( ! $db_link ) { die('keine Verbindung zur Zeit möglich - später probieren '); }

$showFormular = true;
$showFormular2 = false;

if(isset($_GET['register'])) {
  $error = false;
  $nr = $_POST['nr'];
  $tuernummer = $_POST['tuer'];
  $email = $_POST['email'];
  $passwort = $_POST['passwort'];
  $passwort2 = $_POST['passwort2'];

  $email_db = mysql_query( "select email from personen where email='$email'" );

  if(!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo '1.Bitte eine gültige E-Mail-Adresse eingeben<br>';
    $error = true;
  }     
  if($email > 0 && $email === $email_db) {
    $error = true;
  }
  if (!filter_var($email, FILTER_VALIDATE_EMAIL) && $email === $email_db ) {
    echo 'E-Mail-Adresse bereits registriert<br>';      
    $error = true;
  }
  if(strlen($passwort) < 4) {
    echo 'Bitte ein Passwort mit min. 4 Zeichen angeben<br>';
    $error = true;
  }
  if($passwort != $passwort2) {
    echo 'Die Passwörter müssen übereinstimmen<br>';
    $error = true;
  }
  if(!$error && $email !== $email_db) {
    $result = "INSERT INTO personen( `id`,`nr`,`tuer`,`email`,`passwort` )
    VALUES
    ( NULL, '". $nr ."', '". $tuernummer ."', '". $email ."', ". $passwort ."' ) ";
    $db_erg = mysql_query( $result ); 
      if ( ! $db_erg ) { die("Ungültige Abfrage: $result <hr>" . mysql_error()); }
    if($result) {
      echo 'Du wurdest erfolgreich registriert. </br>
      Auf der rechten Seite gehts zum Login';
      $showFormular = true;
    } 
    else {
      echo 'Beim Abspeichern ist leider ein Fehler aufgetreten<br>';
    }
  }
}
if($showFormular) {
?>
  <!--<form action="?register=1" method="post">-->
  <table>
  <tr>
  <td>
    <form action="?register=1" method="post">
        Strassennummer:<br>     <input type="text" size="40" maxlength="250" name="nr"><br>
        Türnummer:<br>              <input type="text" size="40" maxlength="250" name="tuer"><br>
        E-Mail:<br>                 <input type="email" size="40" maxlength="250" name="email"><br>
        Dein Passwort:<br>          <input type="password" size="40"  maxlength="250" name="passwort"><br>
        Passwort wiederholen:<br>   <input type="password" size="40" maxlength="250" name="passwort2"><br>
                                    <input class="btn-pc-2" type="submit" value="Registrieren">
    </form>
</td>
<td width="200px"></td>

<?php    
if(isset($_GET['login'])) {
    $email = $_POST['email'];
    $passwort = $_POST['passwort'];
    $sql = "SELECT * FROM personen WHERE email = '$email'";
        $db_erg = mysql_query( $sql ); if ( ! $db_erg ) { die('Ungültige Abfrage: ' . mysql_error()); }

    while($row = mysql_fetch_object($db_erg)) { 
        $passwort_db = $row->passwort;
        $email_db = $row->email;
        $id_db = $row->id;
    } 
    if ($email == $email_db && $passwort == $passwort_db) {
        $_SESSION['userid'] = $id_db;
        echo "Login erfolgreich.";
        $showFormular2 = true;
    }
    else {
        echo "E-Mail oder Passwort war ungültig<br>";
    }
}
//echo $id_db;
?>
<td>
    <form action="?login=1" method="post">
        E-Mail:<br>             <input type="email" size="40" maxlength="250" name="email"><br><br>
        Dein Passwort:<br>      <input type="password" size="40"  maxlength="250" name="passwort"><br>
                                <input class="btn-pc-2" type="submit" value="Login">
    </form>
</td>
</tr>
</table>

<?php
} //Ende von if($showFormular)

if($showFormular2) {
?>
<table>
<tr>
<td colspan="2">
    Daten, wann man das kleine Zusammensitzen / kleine Feier veranstalten könnte. Hier
    bitte die Daten auswählen, wann wer kann. Der Termin, wird automatisch erstellt.
    <table>
    <tr>
        <form action="#" method="post">
        <td>
            <section title=".squaredOne-21072017">
                <div class="squaredOne-21072017" value="21.07.2017">
                    <input type="checkbox" value="1" id="squaredOne-21072017" name="check_list[]" >
                    <label for="squaredOne-21072017" value="21.07.2017"></label>
                </div>
            </section>
        </td>
        <td>
            <section title=".squaredOne-22072017">
                <div class="squaredOne-22072017" value="22.07.2017">
                    <input type="checkbox" value="1" id="squaredOne-22072017" name="check_list[]" >
                    <label for="squaredOne-22072017" value="22.07.2017"></label>
                </div>
            </section>
        </td>
        <td>
            <section title=".squaredOne-28072017">
                <div class="squaredOne-28072017" value="28.07.2017">
                    <input type="checkbox" value="1" id="squaredOne-28072017" name="check_list[]" >
                    <label for="squaredOne-28072017" value="28.07.2017"></label>
                </div>
            </section>
        </td>
    </tr>
    <tr>
        <td>
            <input class="btn" type="submit" />
        </td>
        </form>
    </tr>   
</td>   
<td>
    <?php
        echo "Id1:".$id_db;
        echo "</br>";
        echo "Id1:".$email;
        echo "</br>";
        echo "BLA:" . $_SESSION['userid'] ."</br>";
        echo "</br>";
        echo session_id();
        echo "</br>";
        echo "5hdf9807gjjso8rlj5sb4sni05";
        echo "</br>";

        if(!empty($_POST['check_list'])) {
            $i=0;

            foreach($_POST['check_list'] as $check[]) {
                echo $check[$i] . "</br>"; 
                $i++;

                $id_db2 = mysql_query( "select id from personen where email='$email'" );

                mysql_query("update personen set datum1 = $check[0] where id = $id_db2");
                mysql_query("update personen set datum2 = $check[1] where id = $id_db2");
                mysql_query("update personen set datum3 = $check[2] where id = $id_db2");
            }
        }
}
    ?>
    </table>
</td>
</tr>
</td>
</tr>
</table>
</body>
</html>




Aucun commentaire:

Enregistrer un commentaire