Avatar billede heden Nybegynder
26. oktober 2005 - 09:30 Der er 15 kommentarer og
1 løsning

Hjælp til tjek

Hej eksperter.

Jeg har følgende kode:

                                  <?php
require("db.php");
if(isset($_POST['navn']) && isset($_POST['tag'])) {
    $tid = date("d/m Y - H:i");
    $_POST['navn'] = addslashes($_POST['navn']);
    $_POST['tag'] = addslashes($_POST['tag']);
    $_POST['email'] = addslashes($_POST['email']);
    mysql_query("INSERT INTO gb (navn, tag, email, ip, dato, hjemm) VALUES('$_POST[navn]', '$_POST[tag]', '$_POST[email]', '$_SERVER[REMOTE_ADDR]', '$tid', '$_POST[site]')") or die(mysql_error());
}
?>

Mit spørsmål er "Jeg har et felt der hedder "$hjemm" som bruges til hjemmeside adressen på en bruger, og der står fast "http://" for at de skal huske det. Men jeg vil gerne have hvis der ikke står noget efter "http://" så skal den ikke lægge noget op i feltet "$hjemm" i min database, ikke engang "http://" for længere nede der bruger jeg en if sætning som tjekker om hvis feltet "$hjemm" er tomt, så skal den ikke vise noget, men hvis det ikke er tomt skal den vise et lille billede. Men feltet er jo aldrig tomt når den bliver ved med at lægge "http://" op i databasen"

Håber i kan hjælpe mig !
Avatar billede Slettet bruger
26. oktober 2005 - 09:32 #1
if($_POST['site'] != 'http://') {
//smid ind i databasen
}
Avatar billede heden Nybegynder
26. oktober 2005 - 09:56 #2
Jamen hvis jeg gør sådan:

                                  <?php
require("db.php");
if(isset($_POST['navn']) && isset($_POST['tag'])) {
    $tid = date("d/m Y - H:i");
    $_POST['navn'] = addslashes($_POST['navn']);
    $_POST['tag'] = addslashes($_POST['tag']);
    $_POST['email'] = addslashes($_POST['email']);
if($_POST['site'] != 'http://') {
    mysql_query("INSERT INTO gb (navn, tag, email, ip, dato, hjemm) VALUES('$_POST[navn]', '$_POST[tag]', '$_POST[email]', '$_SERVER[REMOTE_ADDR]', '$tid', '$_POST[site]')") or die(mysql_error());
}
}
?>

Går den så ikke ind og lader være med at ligge noget ind overhovedet hvis feltet "$hjemm" ikke er sat
Avatar billede Slettet bruger
26. oktober 2005 - 10:03 #3
require("db.php");
if(isset($_POST['navn']) && isset($_POST['tag'])) {
    $tid = date("d/m Y - H:i");
    $_POST['navn'] = addslashes($_POST['navn']);
    $_POST['tag'] = addslashes($_POST['tag']);
    $_POST['email'] = addslashes($_POST['email']);
if($_POST['site'] != 'http://') {
$_POST['site'] = '';
}
    mysql_query("INSERT INTO gb (navn, tag, email, ip, dato, hjemm) VALUES('$_POST[navn]', '$_POST[tag]', '$_POST[email]', '$_SERVER[REMOTE_ADDR]', '$tid', '$_POST[site]')") or die(mysql_error());
}
Avatar billede heden Nybegynder
26. oktober 2005 - 10:08 #4
hehe ja så langt så godt, nu virker den modsat.. altså hvis man skriver noget efter "http://" så viser den ikke ikonet.. det skal være hvis der ikke står noget efter "http://" i feltet, så skal den ikke ligge noget op i feltet
Avatar billede Slettet bruger
26. oktober 2005 - 10:14 #5
if($_POST['site'] == 'http://') {
$_POST['site'] = '';
}




:)
Avatar billede heden Nybegynder
26. oktober 2005 - 10:17 #6
Det ville sikkert virke.. men hehe, nu har vi lige sat en session, så folk ikke kan skrive igen, er der ikke en måde hvor man kan dræbe den session hvis man kommer ind på siden igen, eller et eller andet`?
Avatar billede Slettet bruger
26. oktober 2005 - 10:23 #7
Når du lukker browseren forsvinder den aktive session automatisk. Men bruger man samme browser skal du finde på et andet tjek...
Avatar billede heden Nybegynder
26. oktober 2005 - 10:29 #8
ja det er jo lige det, for folk får måske hurtig svar.. men kan også være lige meget.. det er skker ikke så aktiv en side alligevel ;)
Avatar billede Slettet bruger
26. oktober 2005 - 10:36 #9
Så kunne du jo sende dem tilbage til side i stedet:

if(isset($_POST['navn']) && isset($_POST['tag'])) {
    $tid = date("d/m Y - H:i");
    $_POST['navn'] = addslashes($_POST['navn']);
    $_POST['tag'] = addslashes($_POST['tag']);
    $_POST['email'] = addslashes($_POST['email']);
    mysql_query("INSERT INTO gb (navn, tag, email, ip, dato, hjemm) VALUES('$_POST[navn]', '$_POST[tag]', '$_POST[email]', '$_SERVER[REMOTE_ADDR]', '$tid', '$_POST[site]')") or die(mysql_error());
header('location: navnet_paa_din_php_side.php');
exit;
}
Avatar billede Slettet bruger
26. oktober 2005 - 10:36 #10
Så skal du lige fjerne det $_SESSION tjek vi lavede i dit andet spørgsmål
Avatar billede heden Nybegynder
26. oktober 2005 - 10:57 #11
altså når de trykker på submit, så ryger de over på en anden side, og så smider den, dem tilbage til siden igen, det er det du mener eller?
Avatar billede Slettet bruger
26. oktober 2005 - 11:05 #12
Når de trykker submit ryger de jo ind i din SQL-insert sætninig, og når den er kørt ryger de til "en ny side" men denne nye side kan jo bare være din gæstebog.
Avatar billede Slettet bruger
26. oktober 2005 - 11:07 #13
Følgende burde virke som ønsket

<?php
require("db.php");
if(isset($_POST['navn']) && isset($_POST['tag'])) {
    $tid = date("d/m Y - H:i");
    $_POST['navn'] = addslashes($_POST['navn']);
    $_POST['tag'] = addslashes($_POST['tag']);
    $_POST['email'] = addslashes($_POST['email']);
if($_POST['site'] == 'http://') {
$_POST['site'] = '';
}
    mysql_query("INSERT INTO mini_gb (navn, tag, email, ip, dato, hjemm) VALUES('$_POST[navn]', '$_POST[tag]', '$_POST[email]', '$_SERVER[REMOTE_ADDR]', '$tid', '$_POST[site]')") or die(mysql_error());
header('location: navnet_paa_din_side.php')
}
?>

<form method=post action="<?php echo $_SERVER['PHP_SELF']; ?>"><div align="center">
<table border="0" cellspacing="0" cellpadding="0" width="380" height="126" class="tekst_normal">
                    <tr>
                      <td width=80><b>Navn : </b></td>
                      <td width="119">
<input type="text" size="16" class="box" name="navn"></td>
    <td width="60"><b>Email : </b></td>
    <td width="112"><input type="text" size="16" class="box" name="email"></td>
</tr>
<tr>
                      <td width="80" height="27"><b>Hjemmeside :</b></td>
                      <td height="27" width="119">
<input type="text" size="20" class="box" name="site" value="http://"></td>
    <td colspan="2" height="27"><b><i>Husk http://</i></b></td>
</tr>
<tr>
                      <td width="80"><b>Tekst :</b></td>
    <td colspan="3"><textarea cols="30" class="box" name="tag" rows="3"></textarea></td>
</tr>
</table>
<input type="submit" value="Indskriv" class="submit">
</div>
</form>
<br>
                              <br>
<table width="100%">
<?php
    $i=0;
    $result = mysql_query("select * from mini_gb order by id desc");
    while ($row = mysql_fetch_array($result)) {
    ($i % 2 ? $bgcolor="#444403" : $bgcolor="");

    $email = $row['email'];
    $navn = $row['navn'];
    $tag = $row['tag'];
    $dato = $row['dato'];
    $hjemm = $row['hjemm'];
    $tag = stripslashes($tag);
    $navn = stripslashes($navn);
    $tag = htmlentities($tag);
    $navn = htmlentities($navn);
    $email = htmlentities($email);
    $hjemm = htmlentities($hjemm);
    echo "<tr>";
    echo "<td valign=\"middle\" height=\"15\" bgcolor=\"$bgcolor\" class=\"tekst_normal\">";
    echo "<b>$navn</b> -"; ?> <?php if (!empty($row['email'])) { echo "<a href=\"mailto:$email\"><img src=\"pics/mail.gif\" alt=\"Brugerens E-mail - $email\" width=\"14\" height=\"11\" border=\"0\"></a>"; } else { echo "&nbsp;"; }; ?> <?php if (!empty($row['hjemm'])) { echo "<a href=\"$hjemm\" target=\"_blank\"><img src=\"pics/home.gif\" alt=\"Brugerens hjemmeside - $hjemm\" width=\"11\" height=\"11\" border=\"0\"></a>&nbsp; <i>[$dato]</i>"; } else { echo "&nbsp; <i>[$dato]</i>"; } echo": $tag";
    echo "</td>";
    echo "</tr>\n";
    $i++;
}
?>
Avatar billede heden Nybegynder
26. oktober 2005 - 13:39 #14
smider du et svar?
Avatar billede Slettet bruger
26. oktober 2005 - 13:47 #15
Jeg fik nok point sidste gang, så tag dem gerne selv :)
Avatar billede heden Nybegynder
26. oktober 2005 - 13:52 #16
Hehe ok.
takker for din hjælp.

-lukket-
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