Avatar billede jenslyn_s Nybegynder
07. december 2003 - 23:21 Der er 8 kommentarer og
1 løsning

array i en form

har form hvor det skal være muligt at poste flere ting til feltet "http", men for at jeg kan poste flere ting på én gang, skal jeg vel bruge "array", men kan ikk' greje den, og skal vel også bruge noget serialize?


----Formen--------------------->
<form method="post" action="<? echo $php_self; ?>">
  <p>http_pic1<br>
    <input name="http" type="text" id="http[]" value="http1">
    <br>
    http_pic2<br>
    <input name="http" type="text" id="http[]" value="http2">
    <br>
    Article Id<br>
    <input name="temaId" type="text" id="temaId">
    <br>
    <input type="hidden" name="handling" value="true">
    <input name="submit" type="submit" id="submit" value="submit">
  </p>
</form>
<?
if ($handling == "true")
{
$query = "INSERT INTO temapics (http, temaId) VALUES ('".$http."','".$temaId."')";
------------->
Avatar billede googolplex Novice
08. december 2003 - 00:04 #1
Du kan ikke have flere <input> felter med det samme 'name'...
Avatar billede sone Nybegynder
08. december 2003 - 00:15 #2
du skal bruge: NAME="http[]"

så skulle $_POST['http'] være et array.
Avatar billede detox Nybegynder
08. december 2003 - 00:21 #3
<form method="post" action="<? echo $_SERVER['PHP_SELF']; ?>">
  <p>http_pic1<br>
    <input name="http[0]" type="text" id="http[0]" value="http1">
    <br>
    http_pic2<br>
    <input name="http[1]" type="text" id="http[1]" value="http2">
    <br>
    Article Id<br>
    <input name="temaId" type="text" id="temaId">
    <br>
    <input type="hidden" name="handling" value="true">
    <input name="submit" type="submit" id="submit" value="submit">
  </p>
</form>
<?
if (isset($_POST['handling']) && $_POST['handling'] == "true") {
    foreach ($_POST['http'] as $http) {
        $query = "INSERT INTO temapics (http, temaId) VALUES ('".$http."','".$_POST['temaId']."')";
        mysql_query($query) or die(mysql_error());
    }
}
?>
Avatar billede jenslyn_s Nybegynder
08. december 2003 - 09:50 #4
tak for svarene, men den kommer med et:
"Duplicate entry '90' for key 2" (90 er det fremmed-id jeg vil give http'erne.) Hvorfor må de ikke have samme Id.. det er jo ikke en unik.
Avatar billede jenslyn_s Nybegynder
08. december 2003 - 09:56 #5
Den poster ikke "duplicte ent..." mere, men den poster stadig kun et resultat til databasen.
Avatar billede jenslyn_s Nybegynder
08. december 2003 - 11:11 #6
Jeg har prøvet at omskrive det lidt, og den køre INSERT INTO 2 gange, og med de rigtige værdier, men den poster kun den første INSERT INTO til databasen. huh?
------------->
<form method="post" action="<? echo $_SERVER['PHP_SELF']; ?>">
  <p>http_pic1<br>
    <input name="http[0]" type="text" id="http[0]" value="http1">
    <br>
    http_pic2<br>
    <input name="http[1]" type="text" id="http[1]" value="http2">
    <br>
    Article Id<br>
    <input name="temaId" type="text" id="temaId">
    <br>
    <input type="hidden" name="handling" value="true">
    <input name="submit" type="submit" id="submit" value="submit">
  </p>
</form>
<?
if (isset($_POST['handling']) && $_POST['handling'] == "true") {
    for($i=0; $i<2; $i++) {
        $query = "INSERT INTO temapics (http, temaId) VALUES ('".$http[$i]."','".$_POST['temaId']."')"; //Dette indsætter data i mysql
        echo $query, "<br>";
        $result = mysql_query($query);
        echo "<br>$test - pics has been added<br>"; // Tekst når nyheden er tilføjet
        $handling="";
    }
}
Avatar billede jenslyn_s Nybegynder
08. december 2003 - 12:21 #7
Har fixet det selv. det overstående script er i orden. Detox, dit svar mest tydelige og brugbare, så du får loot'en. Tak for hjælpen til jer begge.
Avatar billede sone Nybegynder
08. december 2003 - 23:16 #8
ok - men mit var først og stadig korrekt...
Avatar billede jenslyn_s Nybegynder
08. december 2003 - 23:19 #9
helt sikkert, har heller ikke sagt det var forkert. Men tak for hjælpen.
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