Avatar billede fire-fox Nybegynder
23. september 2006 - 23:30 Der er 26 kommentarer og
1 løsning

dobbelposter atter engang

hmmm er der nogen der lige gider hjælpe med at konfigurere mit script, er ikke lige den store haj indenfor det endnu ...

<?php
$db = mysql_connect("localhost", "root", "xxxxxxxx) or die (mysql_error());
mysql_select_db("domains") or die (mysql_error());
mysql_query("INSERT INTO vhosts (domain, docroot) VALUES ('" . $_POST["domain"] . "','" . $_POST["docroot"] . "')") or die(mysql_error());

if(eregi("[a-zA-Z]{2}", $_POST["domain"]) && eregi("[a-zA-Z]{2}", $_POST["docroot"])){
// indset i database..
}
?>
Avatar billede nielle Nybegynder
24. september 2006 - 07:54 #1
Hvad er dit problem? I din titel skriver du noget om dobbeltposter, og i teksten skriver du noget om at konfigurer? Kan du ikek forklare lidt nærmere?

(PS: Brug preg-funktionerne i stedet for ereg-ditto)
Avatar billede fire-fox Nybegynder
24. september 2006 - 12:33 #2
dobbelpost = konfigure. tror nemli ikke det er rigtig det der er lavet... :D derfor den måde jeg skrev på, beklager...
Avatar billede Bjarne Novice
24. september 2006 - 18:25 #3
Det er en om'er! Du er nødt til at forklare dig noget bedre ;)
Avatar billede nielle Nybegynder
24. september 2006 - 20:50 #4
Enig, hvad er det du ønsker at gøre med din kode?

Og hvad er der da i vejen med den nuværende version?
Avatar billede fire-fox Nybegynder
24. september 2006 - 21:10 #5
Okay ser i gutter :)
når jeg tilføjer overstående kode som den er, så bliver den ved at sætte tomme felter ind i databasen... og det er det den ikke skal :)
Avatar billede nielle Nybegynder
24. september 2006 - 21:14 #6
Ok, men det har jo så nok mere noget at gøre med den form du submitter fra. Hvordan ser den ud?
Avatar billede fire-fox Nybegynder
24. september 2006 - 23:45 #7
Heysan
her er min form

<form action="<? $PHP_SELF ?>" method="post">
  <table border="0" width="100%" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0" height="101">
    <tr>
      <td width="100%" height="16"><font color="000000" face="verdana" size="1">Domain:</font></td>
      <td width="100%" height="16" ></td>
    </tr>
    <tr>
      <td width="50%" height="22">
        <input type="text" name="domain" size="20"  maxlength="20">
        </font></td>
    </tr>
  <tr>
      <td width="100%" height="16"><font color="000000" face="verdana" size="1">Docroot:</td>
      <td width="100%" height="16" ></td>
    </tr>
    <tr>
      <td width="50%" height="22">
        <input type="text" name="docroot" value="/home/" size="20"  maxlength="20">
        </font></td>
    </tr>
    <tr>
      <td width="50%" height="26">
        <input type="submit" value="Opret">
        <input type="submit" class="button" name="clear" value="Clear">
        <input type="submit" class="button" name="update" value="Opdater"></font></td><br><br><p>
    </tr>
  </tabel>
</form>
Avatar billede nielle Nybegynder
25. september 2006 - 06:48 #8
Den ser rigtig nok ud. :^)

Har du en if-sætning som styre hvornår den INSERT-kode bliver udføret? Hvordan ser den ud?
Avatar billede fire-fox Nybegynder
25. september 2006 - 08:50 #9
Hejsa nej det har jeg ikke. regnede en tagwall script kunne klare ærterne... for den tagwall script jeg har den "dobbelposter" ikke ikke når jeg opdater siden eller klikker på tag it.... så forstår ikke lige hvorfor det her skal drille mig sårn... :)
Avatar billede nielle Nybegynder
25. september 2006 - 18:27 #10
Så vidt jeg kan se har du din INSERT-kode liggede på samme PHP-side som din formular?

Men så vil den jo blive kørt hver gang at nogen ønsker at se formularen. ... altså hvis du ikke har en if-sætning som tester for om (1) dine brugere er kommet ind på siden ved at klikke sig til den, eller (2) om de er havnet tilbage på siden efter at have submittet formularen.

Hvis du ikke har denne if, vil tilfældet (1) resultere i at du får indsat en tom række i databasen. For så bliver denne SQL-sætning jo udført:

mysql_query("INSERT INTO vhosts (domain, docroot) VALUES ('','')") or die(mysql_error())

- idet $_POST["domain"] og $_POST["docroot"] så begge to er tomme.
Avatar billede fire-fox Nybegynder
25. september 2006 - 20:34 #11
Ja vel ja, er det noget du vil hjælpe med :) sårn en if sætning :)
Avatar billede nielle Nybegynder
25. september 2006 - 21:51 #12
Du kan jo f.eks. nøjes med at INSERT'e hvis der rent faktisk er data i $_POST["domain"]) og i $_POST["docroot"]:

<?php
if (isset($_POST["domain"]) && trim($_POST["domain"]) != "" & isset($_POST["docroot"]) && trim($_POST["docroot"]) != "")
{
    $db = mysql_connect("localhost", "root", "xxxxxxxx) or die (mysql_error());
    mysql_select_db("domains") or die (mysql_error());
    mysql_query("INSERT INTO vhosts (domain, docroot) VALUES ('" . $_POST["domain"] . "','" . $_POST["docroot"] . "')") or die(mysql_error());

    if(eregi("[a-zA-Z]{2}", $_POST["domain"]) && eregi("[a-zA-Z]{2}", $_POST["docroot"])){
    // indset i database..
    }
}
?>
Avatar billede fire-fox Nybegynder
25. september 2006 - 22:22 #13
Parse error: parse error, unexpected T_STRING in /home/teamspeak.webftp.dk/index.php on line 6
Avatar billede nielle Nybegynder
25. september 2006 - 22:25 #14
Ret til:

if (isset($_POST["domain"]) && trim($_POST["domain"]) != "" && isset($_POST["docroot"]) && trim($_POST["docroot"]) != "")
Avatar billede fire-fox Nybegynder
25. september 2006 - 22:34 #15
Nej jeg havde glemt et --> " ved password :)
Warning: mysql_query(): Access denied for user: 'www-data@localhost' (Using password: NO) in /home/teamspeak.webftp.dk/index.php on line 48

Warning: mysql_query(): A link to the server could not be established in /home/teamspeak.webftp.dk/index.php on line 48

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/teamspeak.webftp.dk/index.php on line 49

skriver den nu, det er der hvor den henter resultatet ud af databasen igen...
Avatar billede nielle Nybegynder
25. september 2006 - 23:25 #16
Skal nok se lidt mere kode :^)
Avatar billede fire-fox Nybegynder
25. september 2006 - 23:36 #17
Her er hele herlig heden



<h2>Velkommen</h2>

<?php
if (isset($_POST["domain"]) && trim($_POST["domain"]) != "" & isset($_POST["docroot"]) && trim($_POST["docroot"]) != "")
{
    $db = mysql_connect("localhost", "root", "xxxxx") or die (mysql_error());
    mysql_select_db("domains") or die (mysql_error());
    mysql_query("INSERT INTO vhosts (domain, docroot) VALUES ('" . $_POST["domain"] . "','" . $_POST["docroot"] . "')") or die(mysql_error());

    if(eregi("[a-zA-Z]{2}", $_POST["domain"]) && eregi("[a-zA-Z]{2}", $_POST["docroot"])){
    // indset i database..
    }
}
?>

<form action="index.php" method="post">
  <table border="0" width="100%" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0" height="101">
    <tr>
      <td width="100%" height="16"><font color="000000" face="verdana" size="1">Domain:</font></td>
      <td width="100%" height="16" ></td>
    </tr>
    <tr>
      <td width="50%" height="22">
        <input type="text" name="domain" size="20"  maxlength="20">
        </font></td>
    </tr>
  <tr>
      <td width="100%" height="16"><font color="000000" face="verdana" size="1">Docroot:</td>
      <td width="100%" height="16" ></td>
    </tr>
    <tr>
      <td width="50%" height="22">
        <input type="text" name="docroot" value="/home/" size="20"  maxlength="20">
        </font></td>
    </tr>
    <tr>
      <td width="50%" height="26">
        <input type="submit" value="Opret">
        <input type="submit" class="button" name="clear" value="Clear">
        <input type="submit" class="button" name="update" value="Opdater"></font></td><br><br><p>
    </tr>
  </tabel>
</form>
<tr>
<td width="50%">

<?
$result = mysql_query("select id, domain, docroot FROM vhosts order by id desc LIMIT 0, 50");
while($row = mysql_fetch_array($result)){

echo "
<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse; border-top: 1px solid #BBB5A5\" bordercolor=\"#111111\" width=\"15%\" height=\"1\">
          <tr>
          <td width=\"35%\" valign=\"top\" height=\"1\">
              <font face=\"Verdana\" size=\"1\">$row[id]</td>
              <td width=\"35%\" valign=\"top\" height=\"1\">
              <font face=\"Verdana\" size=\"1\">$row[domain]</td>
              <td width=\"35%\" valign=\"top\" height=\"1\">
              <font face=\"Verdana\" size=\"1\">&nbsp;&nbsp;&nbsp;&nbsp; $row[docroot]<br>
</td>
</font></td>

            </tr></table>
";
}
?>
Avatar billede nielle Nybegynder
26. september 2006 - 08:30 #18
Du skal vist bare flytte disse to linjer ud foran if-sætningen:

    $db = mysql_connect("localhost", "root", "xxxxx") or die (mysql_error());
    mysql_select_db("domains") or die (mysql_error());
Avatar billede fire-fox Nybegynder
26. september 2006 - 15:38 #19
den forstod jeg ikke lige, er lige kommet hjem job :D
Avatar billede sw_red_6 Nybegynder
26. september 2006 - 15:44 #20
du skal have:
$db = mysql_connect("localhost", "root", "xxxxx") or die (mysql_error());
mysql_select_db("domains") or die (mysql_error());
if (isset($_POST["domain"]) && trim($_POST["domain"]) != "" & isset($_POST["docroot"]) && trim($_POST["docroot"]) != "")
{
i stedet:
if (isset($_POST["domain"]) && trim($_POST["domain"]) != "" & isset($_POST["docroot"]) && trim($_POST["docroot"]) != "")
{
    $db = mysql_connect("localhost", "root", "xxxxx") or die (mysql_error());
    mysql_select_db("domains") or die (mysql_error()); for:
Avatar billede nielle Nybegynder
26. september 2006 - 18:52 #21
Ret denne del:

<?php
if (isset($_POST["domain"]) && trim($_POST["domain"]) != "" & isset($_POST["docroot"]) && trim($_POST["docroot"]) != "")
{
    $db = mysql_connect("localhost", "root", "xxxxx") or die (mysql_error());
    mysql_select_db("domains") or die (mysql_error());
    mysql_query("INSERT INTO vhosts (domain, docroot) VALUES ('" . $_POST["domain"] . "','" . $_POST["docroot"] . "')") or die(mysql_error());

    if(eregi("[a-zA-Z]{2}", $_POST["domain"]) && eregi("[a-zA-Z]{2}", $_POST["docroot"])){
    // indset i database..
    }
}
?>

- til dette:

<?php
$db = mysql_connect("localhost", "root", "xxxxx") or die (mysql_error());
mysql_select_db("domains") or die (mysql_error());

if (isset($_POST["domain"]) && trim($_POST["domain"]) != "" & isset($_POST["docroot"]) && trim($_POST["docroot"]) != "")
{
    mysql_query("INSERT INTO vhosts (domain, docroot) VALUES ('" . $_POST["domain"] . "','" . $_POST["docroot"] . "')") or die(mysql_error());

    if(eregi("[a-zA-Z]{2}", $_POST["domain"]) && eregi("[a-zA-Z]{2}", $_POST["docroot"])){
    // indset i database..
    }
}
?>
Avatar billede fire-fox Nybegynder
26. september 2006 - 21:50 #22
Jeg takker og bukker aldelse mange gange :) jeg tester lige men tror godt du kan finde svar :)
Avatar billede nielle Nybegynder
27. september 2006 - 06:54 #23
Jeg venter lige med et svar til at du har fundet ud af om du har fået løst dit problem. :^)
Avatar billede nielle Nybegynder
03. oktober 2006 - 08:49 #24
Er du kommet vidre med denne her?
Avatar billede fire-fox Nybegynder
03. oktober 2006 - 15:36 #25
Nååår ja for satan Nielle, dig havde jeg glemt :) men det virker så smidt et svar :)
Avatar billede nielle Nybegynder
03. oktober 2006 - 17:56 #26
Svar :^)
Avatar billede fire-fox Nybegynder
03. oktober 2006 - 18:03 #27
Takker for hjælpen :D
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