04. januar 2005 - 23:09
Der er
6 kommentarer og 1 løsning
Fejl i koden, men hvor?
Hejsa, håber at nogen af jer gutter eller gutinder er mere friske end søvnige mig lige nu. Har problemer med et script som bliver ved med at fejle, og lige på et tidspunkt hvor det IKKE skal. <input type="hidden" name="ip" value="<?php $ip=$_SERVER['REMOTE_ADDR']; ?>"> Hvordan skal ovenstående kode se rigtig ud? Noget med nogen HTML-Klammer vist, men er rimelig blind lige nu? Help...
Annonceindlæg fra SoftwareOne
04. januar 2005 - 23:10
#1
<input type="hidden" name="ip" value="<?php print $_SERVER['REMOTE_ADDR']; ?>">
04. januar 2005 - 23:11
#2
<input type="hidden" name="ip" value="<?php echo $_SERVER['REMOTE_ADDR']; ?>">
04. januar 2005 - 23:13
#3
<input type="hidden" name="ip" value="<?php print $_SERVER['REMOTE_ADDR']; ?>">
04. januar 2005 - 23:21
#4
Naaah, ingen af dem virker for mig vedkommende... - skal måske begrundes lidt mere. Kode: <form method="post" action="form.handle.php"> <table border="0" width="100%"> <tr> <td width="8%">Navn</td> <td width="1%">:</td> <td width="91%"> <input type="text" name="name" style="width: 167; height: 23" size="20"> </td> </tr> <tr> <td width="8%">E-mail</td> <td width="1%">:</td> <td width="91%"> <input type="text" name="email" style="width: 166; height: 23" size="20"></td> </tr> <tr> <td width="8%" vAlign="top">Indlæg</td> <td width="1%" vAlign="top">:</td> <td width="91%"> <textarea name="text" rows="7" cols="0" style="width: 314; height: 155"></textarea></td> </tr> <tr> <td width="8%" vAlign="top"> </td> <td width="1%" vAlign="top"></td> <td width="91%"> </td> </tr> <tr> <td width="8%" vAlign="top"></td> <td width="1%" vAlign="top"></td> <td width="91%"> <input type="submit" value="Send"> <input type="reset" value="Slet alt" name="B1"></td> </tr> </table> <input type="hidden" name="referer" value="comment"> <input type="hidden" name="parent" value="<?php echo $_GET['id']; ?>"> <input type="hidden" name="ip" value="<?php echo $_SERVER['REMOTE_ADDR']; ?>"> </form> kopi af form.handle.php <?php include('inc.config.php'); if ($_POST['referer'] == 'comment') { if (empty($_POST['name']) && empty($_POST['text'])) { echo '<font color="red">Alle felter er ikke udfyldt!</font>'; } else { $_POST['email'] = preg_match("/^[\w\.\-_]+@([\w\-_]+\.)+\w+$/i",$_POST['email']) ? $_POST['email'] : ''; mysql_query("INSERT INTO comments VALUES ('','".$_POST['name']."','".$_POST['email']."',now(),'".$_POST['text']."','".$_POST['ip']."','".$_POST['parent']."')") or die(mysql_error()); header("Location: news.display.php?id=".$_POST['parent']); } } ?> Problemet er at når man så skriver et indlæg, så gemmer den det de forkerte steder i databasen. IPén bliver ikke gemt i feltet ip.
04. januar 2005 - 23:36
#5
-------------------------> L U K K E R <----------------------
04. januar 2005 - 23:37
#6
Jeg ville prøve at gøre det sådan her: mysql_query("INSERT INTO comments(navn, alder, telefon) VALUES('$navn', '$alder', '$telefon')") or die(mysql_error()); (ret selv din kode til, så den passer) Men som du kan se, viser jeg hvor den skal gemme det. 1: navn 2: alder 3: telefon Og dernæst kommer de data, der skal gemmes 1: $navn 2: $alder 3: $telefon Så er jeg ihvertfald sikker på at det kommer de rigtige steder hen :)
04. januar 2005 - 23:58
#7
<input type="hidden" name="ip" value="<?=$_SERVER["REMOTE_ADDR"]; ?>"> Sådan kan den se ud (beklager forrige fejl)! Når du kalder $ip efter at have sendt formen får du ip'en.
Vi tilbyder markedets bedste kurser inden for webudvikling