Hej
Jeg har set et problem som gøre at nogle har oprette bruger hos mig hvor de har gået uden om min email, sådan at de fik mulighed for at opret mia-a og ikke f.eks mia-a@hotmail.com eller ligne, så de slap altså bare for at skrive @... osv,
Hvordan kan jeg gør det med php altså hvor den finder ud af om det er email eller ej?, den må også gerne gør det med jquery
Jquery til oprette delen ser sådan her ud;
- $(function () {
- var $opretbruger = $('form[name="opretbruger"]'),
- $pwd = $("#pass2"),
- $usr = $("#brugernavn"),
- $navn = $("#fornavn"),
- $efter = $("#efternavn"),
- $tjek = $("#tjek");
-
- $opretbruger.on("submit", function (event) {
- var msg = "Du mangler ",
- usr = ($usr.val().trim() !== ""),
- pwd = ($pwd.val().trim() !== ""),
- navn = ($navn.val().trim() !== ""),
- efter = ($efter.val().trim() !== ""),
- tjek = ($tjek.prop("checked") !== false);
-
- msg += !usr ? "brugernavn" : "";
- msg += !usr && !pwd ? ", " : "";
- msg += !pwd ? "kodeord" : "";
- msg += !usr && !pwd && !navn ? ", " : "";
- msg += !navn ? "fornavn" : "";
- msg += !usr && !pwd && !navn && !efter ? ", " : "";
- msg += !efter ? "efternavn" : "";
- msg += !usr && !pwd && !navn && !efter && !tjek ? ", " : "";
- msg += !tjek ? "brugerbetingelserne!" : "";
-
- var valid = pwd && usr && navn && efter && tjek;
- if (!valid) {
- alert(msg);
- }
-
- return valid;
- });
- });
Php
- <?php
- function opretbruger()
- {
- if($_POST["email"] == "")
- {
- $error = 1;
- }
- if($_POST["pass2"] == "")
- {
- $error = 1;
- }
- if($_POST["fornavn"] == "")
- {
- $error = 1;
- }
- if($_POST["efternavn"] == "")
- {
- $error = 1;
- }
- if($_POST["tjek"] == "")
- {
- $error = 1;
- }
- if($error != 1)
- {
- if ($stmt = $this->mysqli->prepare("SELECT brugernavn FROM bruger WHERE brugernavn = ?"))
- {
- $stmt->bind_param('s', $brugernavn);
- $brugernavn = $_POST["email"];
-
-
- $stmt->execute();
- $stmt->store_result();
- $stmt->bind_result($email);
- $stmt->fetch();
- $count = $stmt->num_rows;
- $stmt->close();
-
- if($count > 0)
- {
- ?>
- <div id="error">
- <p><?php echo $_POST["email"];?> er optaget!</p>
- </div>
- <?php
- }
- else
- {
- if ($stmt = $this->mysqli->prepare('INSERT INTO bruger (brugernavn, adgangskode, fornavn, efternavn, ranksted, rank, opret_dato, ipbruger) VALUES (?, ?, ?, ?, ?, ?, NOW(), ?)')) {
- $stmt->bind_param('sssssis', $brugernavn, $adgangskode, $fornavn, $efternavn, $ranksted, $rank, $ipbruger);
- $brugernavn = $_POST["email"];
- $adgangskode = sha1($_POST["pass2"]);
- $fornavn = $_POST['fornavn'];
- $efternavn = $_POST['efternavn'];
- $ranksted = "Bruger";
- $rank = 2;
- $ipbruger = $_SERVER["REMOTE_ADDR"];
- $stmt->execute();
-
- echo "Godkendt";
-
- $stmt->close();
-
- }
- else
- {
- echo 'Der opstod en fejl i erklæringen: ' . $this->mysqli->error;
- }
- }
- }
- }
- else
- {
- ?>
- <div id="error">
- <p>Husk indhold til siden!</p>
- </div>
- <?php
- }
- }
- ?>
Html delen:
- <form name="opretbruger" action="<?php $_SERVER['PHP_SELF'];?>" method="post" id="opretbruger">
- <table width="100%" cellpadding="0" cellspacing="0">
- <tr>
- <td>Brugernavn</td>
- <td>
- <input type="email" name="email" class="opretbar" id="brugernavn" />
- </td>
- </tr>
- <tr>
- <td>Adgangskode</td>
- <td>
- <input type="password" name="pass2" class="opretbar" id="pass2" />
- </td>
- </tr>
- <tr>
- <td>Fornavn</td>
- <td>
- <input type="text" name="fornavn" class="opretbar" id="fornavn" />
- </td>
- </tr>
- <tr>
- <td>Efternavn</td>
- <td>
- <input type="text" name="efternavn" class="opretbar" id="efternavn" />
- </td>
- </tr>
- <tr>
- <td>Betingelserne</td>
- <td>
- <input type="checkbox" name="tjek" id="tjek" /> Jeg godkender <a href="/brugerbetingelser/">brugerbetingelserne</a>
- </td>
- </tr>
- <tr>
- <td></td>
- <td>
- <input type="submit" name="tilmelddiggratis" value="Opret bruger" class="click opretbruger" />
- </td>
- </tr>
- </table>
- </form>