Avatar billede fancy Mester
23. januar 2010 - 13:51 Der er 16 kommentarer og
1 løsning

kontrol af $_SESSION

Hvad sker der for denne kode
jeg for kun en blank side

<?php
session_start();
$navn = $_SESSION['navn'];
//echo $_SESSION['navn'];
echo "<br>";
$ad = $_SESSION['adresse'];
//echo $_SESSION['adresse'];
echo "<br>";
$po = $_SESSION['postnr'];
//echo $_SESSION['postnr'];
echo "<br>";
$byn = $_SESSION['bynavn'];
//echo $_SESSION['bynavn'];
echo "<br>";
$tel = $_SESSION['telefon'];
//echo $_SESSION['telefon'];
echo "<br>";
$email = $_SESSION['email'];
//echo $_SESSION['email'];
echo "<br>";
$for = $_SESSION['forening'];
//echo $_SESSION['forening'];
echo "<br>";
$dag = $_SESSION['dag'];
//echo $_SESSION['dag'];
echo "<br>";
$tid = $_SESSION['tid'];
//echo $_SESSION['tid'];
echo "<br>";
$kom = $_SESSION['kom'];
//echo $_SESSION['kom'];


include ("connect.php");

    if (empty($_SESSION["navn"]) || empty($_SESSION["email"]))) {
        echo "Alle felter skal udfyldes<br>";
    } elseif (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$", $_SESSION["email"])) {
        echo "Den indtastede mail er ikke gyldig<br>";
    } else{

mysql_query("INSERT INTO medhj (navn ,adresse, postnr, bynavn, telefon, email, forening, dag, tid, kom ) VALUES ( '$navn' , '$ad', '$po', '$byn', '$tel', '$email', '$for', '$dag', '$tid', '$kom')") or die(mysql_error());

echo "<h2><em>$navn</em></h2>";
echo "<br>";
echo "Tak for din tilmelding, dine data er nu registreret..<br>
Den forening du har tilmelt dig vil få besked om din medhjælp<br>
Du vi på et senere tidspunkt få besked på den indtastede mail adresse<br>
Præcis hvornår du skal møde på vagt.";

}

?>
Avatar billede mbm2016 Nybegynder
23. januar 2010 - 13:57 #1
Kan vi se din submit-form?
Avatar billede fancy Mester
23. januar 2010 - 14:06 #2
<?php

session_start(); //Åben sessionen

$_SESSION['navn'] = "$navn"; //Tilføj en variabel til sessionen
$_SESSION['adresse'] = "$ad";
$_SESSION['postnr'] = "$po";
$_SESSION['bynavn'] = "$byn";
$_SESSION['telefon'] = "$tel";
$_SESSION['email'] = "$email";
$_SESSION['forening'] = "$for";
$_SESSION['dag'] = "$dag";
$_SESSION['tid'] = "$tid";
$_SESSION['kom'] = "$kom";


?>
<?php
$navn = $_POST["navn"];
$ad = $_POST["ad"];
$po = $_POST["po"];
$byn = $_POST["byn"];
$tel = $_POST["tel"];
$email = $_POST["email"];
$for = $_POST["for"];
$dag = $_POST["dag"];
$tid = $_POST["tid"];
$kom = $_POST["kom"];


if (!isset($_POST['submit'])) { // if page is not submitted to itself echo the form
?>
<html>
<head>
<title>Medhælp</title>
</head>
<body>
<center>
<h2>Medhjælp til køkken vagt 2010</h2>

<form method="post" action="<?php echo $PHP_SELF;?>">
<center>
<table border="0">
  <tr>
    <th nowrap><p align="left">Som noget nyt er det nu muligt ! </p>
      <p align="left">at allerede nu, at give tilsagn om <br>
        k&oslash;kken &nbsp;medhj&aelig;lp <br>
        ved kr&aelig;mmermarkedet 2010.</p>
      <p align="left">den forening du v&aelig;lger for direkte besked,<br>
        om at du &oslash;nsker at hj&aelig;lpe den.</p>
      <p align="left">Det er meget vigtig du opgiver din mail adresse<br>
        p&aring; den vil du f&aring; yderlig information n&aring;r</p>
      <p align="left">Vagt planen er f&aelig;rdig.</p>
      <p align="left">S&aring; kontroller en ekstra gang om du har skrevet<br>
        din mail adresse korrekt.</p>
      <p align="left">&nbsp;</p>      </th>
    <td><div align="center">
      <p align="left">Navn:
        <input type="text" size="25" maxlength="25" name="navn">
        <br />
        Adresse:
        <input type="text" size="25" maxlength="25" name="ad">
            <br />
        Post nr.:
        <input type="text" size="4" maxlength="4" name="po">
            <br>
        by:
        <input type="text" size="25" maxlength="25" name="byn">
        <br>
        Telefon nr :
        <input type="text" size="12" maxlength="36" name="tel">
            <br>
        Email:
        <input name="email" type="text" value="" size="25">
      </p>
      <p align="left">V&aelig;lg hvilken forening du vil have vagt for:<br>
        <select name="for">
          <option value="BF">BF</option>
          <option value="BR66">BR66</option>
          <option value="BB">BB</option>
          <option value="LIF">LIF</option>
          <option value="LBBK">LBBK</option>
          <option value="NORDEN">NORDEN</option>
          <option value="MGIF">MGIF</option>
          <option value="KR70">KR70</option>
        </select>
        <br />
        <br />
Vælg hvilken dag du vil have vagt:<br />
<select name="dag">
  <option value="Onsdag">Onsdag</option>
  <option value="Torsdag">Torsdag</option>
  <option value="Fredag">Fredag</option>
  <option value="L&oslash;rdag">L&oslash;rdag</option>
  <option value="S&oslash;ndag">S&oslash;ndag</option>
  <option value="Mandag">Mandag</option>
</select>
<br>
<br />
V&aelig;lg tids rum <br />
<select name="tid">
  <option value="06:00-12:00">06:00-12:00</option>
  <option value="09:00-15:00">09:00-15:00</option>
  <option value="15:00-21:00">15:00-21:00</option>
</select>
</p>
      <p align="left">
        <textarea rows="5" cols="40" name="kom" wrap="physical">Yderlige kommentar</textarea>
        <br />
        <input type="submit" value="submit" name="submit">
      </p>
      <p>&nbsp;  </p>
    </div></td>
    <td>&nbsp;</td>
  </tr>
</table>
<p><br>
</p>
</form>



<?

}else {
echo "<center>";
echo "Hej,<br> <strong><em>".$navn."</em></strong><br> ".$ad.".<br />";
echo " ".$po." ".$byn.".<br />";
echo "<br>Din Email er  ".$email."";
echo "<br> ".$dag."<br> i tidsrummet ".$tid."!<br />";
echo "<i>".$kom."</i><br />";
echo "<a href='data.php'>Godkend</a> |";
echo "<a href='http://langeskovborgerforening.dk/ansog.php'>Ikke godkend</a>";
}

?>
Avatar billede repox Seniormester
23. januar 2010 - 16:32 #3
Det er din logik der fejler; du tilegner dine session-variabler værdier, som du først henter ind bagefter.
Avatar billede fancy Mester
23. januar 2010 - 17:12 #4
Hmm det forstår jeg ikke hvis jeg fjerner den stykke som kontrollerer om der står noget i navn og email så virker det fint og den smider i min db men jeg ville gerne tjekke om email er valid.
Avatar billede repox Seniormester
24. januar 2010 - 20:07 #5
Det giver altså ikke noget mening - din form submitter jo til sig selv, men den oprindelige kode har ingenting at gøre med din form - der er ikke noget at sige til at du ikke kan få det til at virke...
Avatar billede fancy Mester
24. januar 2010 - 23:05 #6
ok jeg er ikke ret god til at skrive php det indrømmer jeg men det virker  godt nok men jeg bare ingen sikkerhed for om email bliver tastet som en valid mail
jeg har lagt det på min hjemmeside og det virker fint men jeg har ingen sikkerhed..
Avatar billede mbm2016 Nybegynder
26. januar 2010 - 16:15 #7
Hvad med denne kode:

<?php
session_start();
$navn = $_POST["navn"];
$ad = $_POST["ad"];
$po = $_POST["po"];
$byn = $_POST["byn"];
$tel = $_POST["tel"];
$email = $_POST["email"];
$for = $_POST["for"];
$dag = $_POST["dag"];
$tid = $_POST["tid"];
$kom = $_POST["kom"];

$_SESSION['navn'] = "$navn"; //Tilføj en variabel til sessionen
$_SESSION['adresse'] = "$ad";
$_SESSION['postnr'] = "$po";
$_SESSION['bynavn'] = "$byn";
$_SESSION['telefon'] = "$tel";
$_SESSION['email'] = "$email";
$_SESSION['forening'] = "$for";
$_SESSION['dag'] = "$dag";
$_SESSION['tid'] = "$tid";
$_SESSION['kom'] = "$kom";

if (!isset($_POST['submit'])) { // if page is not submitted to itself echo the form
?>
<html>
<head>
<title>Medhælp</title>
</head>
<body>
<center>
<h2>Medhjælp til køkken vagt 2010</h2>

<form method="post" action="<?php echo $PHP_SELF;?>">
<center>
<table border="0">
  <tr>
    <th nowrap><p align="left">Som noget nyt er det nu muligt ! </p>
      <p align="left">at allerede nu, at give tilsagn om <br>
        k&oslash;kken &nbsp;medhj&aelig;lp <br>
        ved kr&aelig;mmermarkedet 2010.</p>
      <p align="left">den forening du v&aelig;lger for direkte besked,<br>
        om at du &oslash;nsker at hj&aelig;lpe den.</p>
      <p align="left">Det er meget vigtig du opgiver din mail adresse<br>
        p&aring; den vil du f&aring; yderlig information n&aring;r</p>
      <p align="left">Vagt planen er f&aelig;rdig.</p>
      <p align="left">S&aring; kontroller en ekstra gang om du har skrevet<br>
        din mail adresse korrekt.</p>
      <p align="left">&nbsp;</p>      </th>
    <td><div align="center">
      <p align="left">Navn:
        <input type="text" size="25" maxlength="25" name="navn">
        <br />
        Adresse:
        <input type="text" size="25" maxlength="25" name="ad">
            <br />
        Post nr.:
        <input type="text" size="4" maxlength="4" name="po">
            <br>
        by:
        <input type="text" size="25" maxlength="25" name="byn">
        <br>
        Telefon nr :
        <input type="text" size="12" maxlength="36" name="tel">
            <br>
        Email:
        <input name="email" type="text" value="" size="25">
      </p>
      <p align="left">V&aelig;lg hvilken forening du vil have vagt for:<br>
        <select name="for">
          <option value="BF">BF</option>
          <option value="BR66">BR66</option>
          <option value="BB">BB</option>
          <option value="LIF">LIF</option>
          <option value="LBBK">LBBK</option>
          <option value="NORDEN">NORDEN</option>
          <option value="MGIF">MGIF</option>
          <option value="KR70">KR70</option>
        </select>
        <br />
        <br />
Vælg hvilken dag du vil have vagt:<br />
<select name="dag">
  <option value="Onsdag">Onsdag</option>
  <option value="Torsdag">Torsdag</option>
  <option value="Fredag">Fredag</option>
  <option value="L&oslash;rdag">L&oslash;rdag</option>
  <option value="S&oslash;ndag">S&oslash;ndag</option>
  <option value="Mandag">Mandag</option>
</select>
<br>
<br />
V&aelig;lg tids rum <br />
<select name="tid">
  <option value="06:00-12:00">06:00-12:00</option>
  <option value="09:00-15:00">09:00-15:00</option>
  <option value="15:00-21:00">15:00-21:00</option>
</select>
</p>
      <p align="left">
        <textarea rows="5" cols="40" name="kom" wrap="physical">Yderlige kommentar</textarea>
        <br />
        <input type="submit" value="submit" name="submit">
      </p>
      <p>&nbsp;  </p>
    </div></td>
    <td>&nbsp;</td>
  </tr>
</table>
<p><br>
</p>
</form>



<?

}else {
echo "<center>";
echo "Hej,<br> <strong><em>".$navn."</em></strong><br> ".$ad.".<br />";
echo " ".$po." ".$byn.".<br />";
echo "<br>Din Email er  ".$email."";
echo "<br> ".$dag."<br> i tidsrummet ".$tid."!<br />";
echo "<i>".$kom."</i><br />";
echo "<a href='data.php'>Godkend</a> |";
echo "<a href='http://langeskovborgerforening.dk/ansog.php'>Ikke godkend</a>";
}

?>
Avatar billede fancy Mester
26. januar 2010 - 16:41 #8
øøh  hvad mener du
Avatar billede mbm2016 Nybegynder
31. januar 2010 - 16:22 #9
kan du ikke se forskellen på din kode og min kode ??
Avatar billede fancy Mester
31. januar 2010 - 18:02 #10
Nej kun at du har fjernet session_start();?????
Avatar billede mbm2016 Nybegynder
01. februar 2010 - 15:57 #11
Det har jeg så ikke gjort men okay ;))

Jeg har byttet rundt på dine post/session tildelinger ;) som repox så pænt bad dig om at prøve :)
Avatar billede fancy Mester
01. februar 2010 - 17:14 #12
JO Jo nu fattede selv jeg det .
det virker fint
Avatar billede fancy Mester
01. februar 2010 - 17:19 #13
kender du noget til hvordan man tester om der står noget i input feltet og tjekker om email er skrevet rigtigt
det er noget med ereg tror jeg med kan ikke få det til at virke
Avatar billede mbm2016 Nybegynder
02. februar 2010 - 18:39 #14
Du skal nok bruge nogle if sætninger mikset med noget RegExp (http://phpartikler.dk/artikler/regexp.php)


Her koden:

<?php
session_start();
$navn = $_POST["navn"];
$ad = $_POST["ad"];
$po = $_POST["po"];
$byn = $_POST["byn"];
$tel = $_POST["tel"];
$email = $_POST["email"];
$for = $_POST["for"];
$dag = $_POST["dag"];
$tid = $_POST["tid"];
$kom = $_POST["kom"];

$_SESSION['navn'] = "$navn"; //Tilføj en variabel til sessionen
$_SESSION['adresse'] = "$ad";
$_SESSION['postnr'] = "$po";
$_SESSION['bynavn'] = "$byn";
$_SESSION['telefon'] = "$tel";
$_SESSION['email'] = "$email";
$_SESSION['forening'] = "$for";
$_SESSION['dag'] = "$dag";
$_SESSION['tid'] = "$tid";
$_SESSION['kom'] = "$kom";

if (!isset($_POST['submit']) && check_email_address($email) == true && empty($navn) == false && empty($ad) == false && empty($po) == false && empty($byn) == false && empty($tel) == false && empty($for) == false && empty($dag) == false && empty($tid) == false && empty($kom) == false) { // if page is not submitted to itself echo the form
?>
<html>
<head>
<title>Medhælp</title>
</head>
<body>
<center>
<h2>Medhjælp til køkken vagt 2010</h2>

<form method="post" action="<?php echo $PHP_SELF;?>">
<center>
<table border="0">
  <tr>
    <th nowrap><p align="left">Som noget nyt er det nu muligt ! </p>
      <p align="left">at allerede nu, at give tilsagn om <br>
        k&oslash;kken &nbsp;medhj&aelig;lp <br>
        ved kr&aelig;mmermarkedet 2010.</p>
      <p align="left">den forening du v&aelig;lger for direkte besked,<br>
        om at du &oslash;nsker at hj&aelig;lpe den.</p>
      <p align="left">Det er meget vigtig du opgiver din mail adresse<br>
        p&aring; den vil du f&aring; yderlig information n&aring;r</p>
      <p align="left">Vagt planen er f&aelig;rdig.</p>
      <p align="left">S&aring; kontroller en ekstra gang om du har skrevet<br>
        din mail adresse korrekt.</p>
      <p align="left">&nbsp;</p>      </th>
    <td><div align="center">
      <p align="left">Navn:
        <input type="text" size="25" maxlength="25" name="navn">
        <br />
        Adresse:
        <input type="text" size="25" maxlength="25" name="ad">
            <br />
        Post nr.:
        <input type="text" size="4" maxlength="4" name="po">
            <br>
        by:
        <input type="text" size="25" maxlength="25" name="byn">
        <br>
        Telefon nr :
        <input type="text" size="12" maxlength="36" name="tel">
            <br>
        Email:
        <input name="email" type="text" value="" size="25">
      </p>
      <p align="left">V&aelig;lg hvilken forening du vil have vagt for:<br>
        <select name="for">
          <option value="BF">BF</option>
          <option value="BR66">BR66</option>
          <option value="BB">BB</option>
          <option value="LIF">LIF</option>
          <option value="LBBK">LBBK</option>
          <option value="NORDEN">NORDEN</option>
          <option value="MGIF">MGIF</option>
          <option value="KR70">KR70</option>
        </select>
        <br />
        <br />
Vælg hvilken dag du vil have vagt:<br />
<select name="dag">
  <option value="Onsdag">Onsdag</option>
  <option value="Torsdag">Torsdag</option>
  <option value="Fredag">Fredag</option>
  <option value="L&oslash;rdag">L&oslash;rdag</option>
  <option value="S&oslash;ndag">S&oslash;ndag</option>
  <option value="Mandag">Mandag</option>
</select>
<br>
<br />
V&aelig;lg tids rum <br />
<select name="tid">
  <option value="06:00-12:00">06:00-12:00</option>
  <option value="09:00-15:00">09:00-15:00</option>
  <option value="15:00-21:00">15:00-21:00</option>
</select>
</p>
      <p align="left">
        <textarea rows="5" cols="40" name="kom" wrap="physical">Yderlige kommentar</textarea>
        <br />
        <input type="submit" value="submit" name="submit">
      </p>
      <p>&nbsp;  </p>
    </div></td>
    <td>&nbsp;</td>
  </tr>
</table>
<p><br>
</p>
</form>



<?

}else {
echo "<center>";
echo "Hej,<br> <strong><em>".$navn."</em></strong><br> ".$ad.".<br />";
echo " ".$po." ".$byn.".<br />";
echo "<br>Din Email er  ".$email."";
echo "<br> ".$dag."<br> i tidsrummet ".$tid."!<br />";
echo "<i>".$kom."</i><br />";
echo "<a href='data.php'>Godkend</a> |";
echo "<a href='http://langeskovborgerforening.dk/ansog.php'>Ikke godkend</a>";
}


function check_email_address($email) {
    // First, we check that there's one @ symbol, and that the lengths are right
    if (!ereg("^[^@]{1,64}@[^@]{1,255}$", $email)) {
        // Email invalid because wrong number of characters in one section, or wrong number of @ symbols.
        return false;
    }
    // Split it into sections to make life easier
    $email_array = explode("@", $email);
    $local_array = explode(".", $email_array[0]);
    for ($i = 0; $i < sizeof($local_array); $i++) {
        if (!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$", $local_array[$i])) {
            return false;
        }
    }   
    if (!ereg("^\[?[0-9\.]+\]?$", $email_array[1])) { // Check if domain is IP. If not, it should be valid domain name
        $domain_array = explode(".", $email_array[1]);
        if (sizeof($domain_array) < 2) {
                return false; // Not enough parts to domain
        }
        for ($i = 0; $i < sizeof($domain_array); $i++) {
            if (!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$", $domain_array[$i])) {
                return false;
            }
        }
    }
    return true;
}
?>
Avatar billede mbm2016 Nybegynder
02. februar 2010 - 18:42 #15
Forresten sagde du at brugerens input bliver kastet ind i en database... I såfald skal du nok kigge lidt på disse funktioner:

escapeshellarg()
strip_tags()


For at undgå SqlHacks med mere....
Avatar billede fancy Mester
02. februar 2010 - 22:50 #16
det ser fint ud med jeg for ikke min form ud den skriver kun
dette

}else {
echo "<center>";
echo "Hej,<br> <strong><em>".$navn."</em></strong><br> ".$ad.".<br />";
echo " ".$po." ".$byn.".<br />";
echo "<br>Din Email er  ".$email."";
echo "<br> ".$dag."<br> i tidsrummet ".$tid."!<br />";
echo "<i>".$kom."</i><br />";
echo "<a href='data.php'>Godkend</a> |";
echo "<a href='http://langeskovborgerforening.dk/ansog.php'>Ikke godkend</a>";
}
Avatar billede fancy Mester
03. oktober 2010 - 00:38 #17
Lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester