kostenloser Webspace werbefrei: lima-city


Probleme mit Zuweisung

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    laufen91

    laufen91 hat kostenlosen Webspace.

    Hallo,
    folgende Sache: Ich habe in einer Schleife diese Ausgabe. Der Name wird dabei hochgezählt:
    <tr>
    	<td>
    	<input name="<? echo $fzähler ?>" type="text" size="30" value="<? echo $fondsname[$zähler] ?>" disabled="disabled"/>
    	</td>
    	<?
    	$fzähler = $fzähler +1;
    	?>
    	<td>
    	<input name="<? echo $fzähler ?>" type="text" value="<? echo $wkn[$zähler] ?>" disabled="disabled"/>
    	</td>
    	<?
    	$fzähler = $fzähler +1;
    	?>
    	<td>
    	<input name="<? echo $fzähler ?>" type="text" value="<? echo date ("Y-m-d") ?>"/>
    	</td>
    	<?
    	$fzähler = $fzähler +1;
    	?>
    	<td>
    	<input name="<? echo $fzähler ?>" type="text" value="12"/>
    	</td>
    	<?
    	$fzähler = $fzähler +1;
    	?>
    	<td>
    	<input name="<? echo $fzähler ?>" type="text" value="12"/>
    	</td>
    	</tr>


    Anschließend will ich einem Feld die Werte über den Namen zuweisen (auch wieder in einer Schleife):
    $fondsname[$zähler4] = $_POST['$fzähler'];
    	$fzähler = $fzähler +1;
    	$wkn[$zähler4] = $_POST['$fzähler'];
    	$fzähler = $fzähler +1;
    	$datum[$zähler4] = $_POST['$fzähler'];
    	$fzähler = $fzähler +1;
    	$kurs[$zähler4] = $_POST['$fzähler'];
    	$fzähler = $fzähler +1;
    	$anz[$zähler4] = $_POST['$fzähler'];
    	$fzähler = $fzähler +1;


    Doch in den Variablen $wkn[$zähler4] und dergleichen steht nachher nichts drin. Schätze es liegt am POST...
    Vielen Dank schon mal für Tips...


    Und hier jetzt der vollständigkeit halber der gesamte Code (es stehen viele überflüssige Variablen drin. Sind durchs probieren entstanden...):
    if (isset($_POST['Submit1'])){
    $zähler9 = 0;
    $zähler3 = 0;
    $fzähler = 1;
    $wzähler = 1;
    $zähler2 = 1;
    $zähler = 1;
    $czähler = 1;
    $dzähler = 1;
    $kzähler = 1;
    $szähler = 1;
    while ($zähler2 <= $zählerg){
    	if ($_POST[$czähler] == "on"){
    	$zähler = $zähler2;
    	$czähler = $czähler + 1;
    	$zähler9 = $zähler9 +1;
    	?>
    	<tr>
    	<td>
    	<input name="<? echo $fzähler ?>" type="text" size="30" value="<? echo $fondsname[$zähler] ?>" disabled="disabled"/>
    	</td>
    	<?
    	$fzähler = $fzähler +1;
    	?>
    	<td>
    	<input name="<? echo $fzähler ?>" type="text" value="<? echo $wkn[$zähler] ?>" disabled="disabled"/>
    	</td>
    	<?
    	$fzähler = $fzähler +1;
    	?>
    	<td>
    	<input name="<? echo $fzähler ?>" type="text" value="<? echo date ("Y-m-d") ?>"/>
    	</td>
    	<?
    	$fzähler = $fzähler +1;
    	?>
    	<td>
    	<input name="<? echo $fzähler ?>" type="text" value="12"/>
    	</td>
    	<?
    	$fzähler = $fzähler +1;
    	?>
    	<td>
    	<input name="<? echo $fzähler ?>" type="text" value="12"/>
    	</td>
    	</tr>
    	<?
    	$zähler3 = $zähler3 +1;
    	$zähler2 = $zähler2 +1;
    	$fzähler = $fzähler +1;
    	$wzähler = $wzähler +1;
    	$dzähler = $dzähler +1;
    	$kzähler = $kzähler +1;
    	$szähler = $szähler +1;
    	}
    	else{
    	$zähler2 = $zähler2 +1;
    	$czähler = $czähler + 1;
    	}
    }
    }
    
    ?>
    </table>
    <br>
    <input name="Submit2" type="submit" value="Absenden" />
    </form>
    <?
    echo "hall";
    if (isset($_POST['Submit2'])){
    $varver = 15;
    $fzähler =1;
    $wzähler =1;
    $dzähler =1;
    $kzähler =1;
    $szähler =1;
    $zähler4 = 0;
    echo $zähler4;
    while ($zähler4 < $varver){
    echo "bin drin";
    echo $_POST[$fzähler];
    echo $_POST['$fzähler'];
    
    $zähler4 = $zähler4 +1;
    	$fondsname[$zähler4] = $_POST[$fzähler];
    	$fzähler = $fzähler +1;
    	$wkn[$zähler4] = $_POST['$fzähler'];
    	$fzähler = $fzähler +1;
    	$datum[$zähler4] = $_POST['$fzähler'];
    	$fzähler = $fzähler +1;
    	$kurs[$zähler4] = $_POST['$fzähler'];
    	$fzähler = $fzähler +1;
    	$anz[$zähler4] = $_POST['$fzähler'];
    	$fzähler = $fzähler +1;
    	$wzähler = $wzähler +1;
    	$dzähler = $dzähler +1;
    	$kzähler = $kzähler +1;
    	$szähler = $szähler +1;
    	echo $fondsname[$zähler4];
    
    }
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Setz die $fzaehler Variable mal nicht in Apostroph. Also so:

    $wkn[$zähler4] = $_POST[$fzähler];
  4. Autor dieses Themas

    laufen91

    laufen91 hat kostenlosen Webspace.

    Die Variante geht auch nicht...
  5. 3 Dinge zum ändern, kp, ob es daran liegt:

    1. Benutze bitte keine Umlaute in Variablennamen. Weiß nicht genau, ob php damit Probleme hat, aber viel Sprachen können einfach nicht mit ä...

    2. <form method=\"post\" action=\"Pfad-zur-Datei.php\"> und </form> gehören an den Anfang bzw ans Ende eines Formulares, also vor deinen ersten input und nach deinem letzten.

    €dit: </form> hab ich jetzt mal gefunden, aber iwie fehlen da am anfang <form> und <table>. Wenn das bei dir da ist und du nur nicht den kompletten code gepostet hast, dann vergiss das einfach.

    3. Vlt liegt es tatsächlich an der Postabfrage. Teste mal $_POST[''.$fzaehler] . Ist zwar eher unwahrscheinlich, aber auf den ersten Blick find ich sonst nix, ich schau aber gleich nochmal genauer darüber.

    Beitrag zuletzt geändert: 8.3.2010 21:21:15 von alphara
  6. Autor dieses Themas

    laufen91

    laufen91 hat kostenlosen Webspace.

    ä hab icch in a geändert... klappt nicht
    <form> habe ich auch immer stehen. bin mir da sehr sicher
    3. bewirkt auch keine änderung...

    Beitrag zuletzt geändert: 8.3.2010 21:27:16 von laufen91
  7. Weitere 3 Punkte:

    1. php-Statements leitet man mit <?php ein (ist aber nicht der Fehler, ist nur ne Schönheitsop ;) )

    2. Ich bin mir nicht sicher, ob die If-Abfrage mit dem isset(Submit1) tut, aber das kann man ja leicht testen. Bei mir musste ich sie rausmachen, aber ich hab ja auch nicht den kompletten Quellcode.

    3. Bei mir werden aus dem ersten Feld keine Werte übergeben, solange das Disabled drinne steht. Mach das mal raus und teste das ganze in Verbindung mit meinem vorherigen 3. Punkt, also $_POST[["".$fzahler] statt nur $_POST[$zahler]

    €dit: folgender stark gekürzter Code tut bei mir problemlos:

    <html><head></head><body><form method="post" action="#"><table>
    <?php 
      $fondsname=array();
      $fzahler = 1;
      $zahler = 1;
    ?>
    	<tr>
    	<td>
    	<input name="<?php echo $fzahler ?>" type="text" size="30" value="test"/>
    	</td>
    <?php
    	$fzahler = $fzahler +1;
    ?>
    	<td>
    	<input name="<?php echo $fzahler ?>" type="text" value="<?php echo date ("Y-m-d") ?>"/>
    	</td>
    <?php
    	$fzahler = $fzahler +1;
    ?>
    	<td>
    	<input name="<?php echo $fzahler ?>" type="text" value="12"/>
    	</td>
    <?php
    	$fzahler = $fzahler +1;
    ?>
    	<td>
    	<input name="<?php echo $fzahler ?>" type="text" value="12"/>
    	</td>
    	</tr>
    
    
    </table>
    <br>
    <input name="Submit2" type="submit" value="Absenden" />
    </form>
    
    <?php
    echo "hall";
    if (isset($_POST['Submit2'])){
    $fzahler =1;
    $zahler4 = 0;
    echo $zahler4;
    echo "bin drin";
    echo $_POST[''.$fzahler];
    $zahler4 = $zahler4 +1;
    $fondsname[$zahler4] = $_POST[''.$fzahler];
    echo $fondsname[$zahler4];
    }
    ?>
    </body></html>

    Wie du siehst hab ich die ganzen Ifs und Whiles mal ausgebaut. aber wenns mit deiner Variante nicht tut, dann weißt du immerhin, dass es dann an eben diesen Verzweigungen / Schleifen liegen muss

    Beitrag zuletzt geändert: 8.3.2010 22:00:59 von alphara
  8. Autor dieses Themas

    laufen91

    laufen91 hat kostenlosen Webspace.

    ok. wenn da so tut, dann werd ich das auch hinkriegen. zur zeit geht nur meine seite nicht... danke für deine hilfe. wenn es immer noch nicht funktioniert, melde ich mich noch mal...

    soweit klappt jetzt alles. nur wird der eintrag nicht in der datenbank vorgenommen.
    while ($zahler4 <= $varver){
    $fondsname2 = $fondsname[$zahler4];
    $datum2 = $datum[$zahler4];
    $wkn2 = $wkn[$zahler4];
    $kurs2 = $kurs[$zahler4];
    $anz2 = $anz[$zahler4];
    $sql2 = "INSERT INTO `$fondsname2` (`Datum`, `Kurs`, `Stück`) VALUES ('$datum2', '$kurs2', '$anz2');";
    $eintragen2 = mysql_query($sql2);
    $zahler4 = $zahler4 +1;
    echo $fondsname2;
    echo $anz2;
    echo $datum2;
    echo $kurs2;
    
    }


    Der Code müsste doch richtig sein... Die echo's geben die richtigen werte aus. bin vollkommen ratlos...

    Beitrag zuletzt geändert: 8.3.2010 23:13:08 von laufen91
  9. 1. Auch in Datenbanken benutzt man keine Umlaute, weil das manchmal zu Problemen führt.

    2. SQL-Querys enden nicht mit ; => dein Query müsste so aussehen:
    $sql2 = "INSERT INTO `$fondsname2` (`Datum`, `Kurs`, `Stueck`) VALUES ('$datum2', '$kurs2', '$anz2')";
    $eintragen2 = mysql_query($sql2);


    €dit: Natürlich musst du den Spaltennamen deiner Datenbank noch in Stueck umbenennen, wenn du genau diesen code benutzt. Sollte ja klar sein, aber sicher ist sicher...

    Beitrag zuletzt geändert: 9.3.2010 10:50:36 von alphara
  10. Autor dieses Themas

    laufen91

    laufen91 hat kostenlosen Webspace.

    Super. Danke. War wohl gestern einfach ein bisschen viel... Solche einfachen Fehler....
  11. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!