Array Problem/ Poll

HughMordhand

Grünschnabel
Hallo Leute,

habe ein kleines Problem, dass ich trotz Suche nicht lösen kann.

Also ich habe ein Voting das mir den Wert, den der benutzer gewählt hat, in die Variable $stimme schreibt.
So weit so gut, nun lese ich aus einem Objekt (ist ein CMS (Web Edition)), bereits vorhandene Werte aus (in Form von 1,2,3,4) und zerlege sie über explode() in einen array.
Das geht auch, wenn ich nun aber $stimme hinten anhängen will, macht er das nicht, sondern tauscht mir immer den letzten Wert aus.

Sieht so aus:
PHP:
$existbewertung = explode (",",$existbewertungtemp); // teilen und array erstellen
array_push($existbewertung, "$stimme");
print_r($existbewertung);

In der Ausgabe kommt dann:
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 6

Wenn ich jetzt $stimme verändere und die Seite frisch lade (über den Submit Button)
dann macht er mir aus der 6 (Wert [3]) z.B. eine 3, anstatt Wert [4] anzufügen.

Über
PHP:
$existbewertung[]=$stimme

hab ichs natürlich auch schon probiert, was selbigen Erfolg bzw. Misserfolg gibt.

Weiss einer Rat?

Danke & Grüssle
 
Ich kann jetzt so auf anhieb keinen Fehler finden.

Mach mal folgendes - nur mal so zum Spaß ;)
PHP:
echo $existbewertungtemp;
echo "<br>";
$existbewertung = explode (",",$existbewertungtemp); // teilen und array erstellen
print_r($existbewertung);
echo "<br>";
array_push($existbewertung, "$stimme");
print_r($existbewertung);

Dann siehst du wie das Array vor und nach der Änderung aussieht.
Vielleicht ist ja deine $existbewertungtemp schon falsch.
 
PHP:
$existbewertung = explode (",", $existbewertungtemp); // teilen und array erstellen
print_r($existbewertung);
$existbewertung[] = $stimme;
print_r($existbewertung);

Ist denn in der ersten Ausgabe alles drin?
Funktioniert tadellos bei mir.
 
Ist alles drin vorher und korrekt, so wie ichs haben will.
Das komische ist, dass wenn ich keine Variable verwende sondern "harte" Werte eintrage, fügt er es an.

@dwex
Das ist die Ausgabe:
1,2,3
Array ( [0] => 1 [1] => 2 [2] => 3 )
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 5 )
1,2,3,5

Wenn ich jetzt auf den Submit Button drücke ändert er mir die 5 in den gewählten Wert.
 
HÄ?

Das ist doch genau das was ICH erwarten würde - demnach ist $stimme=5 - oder nicht?

Mach mal eine Ausgabe mit folgendem Code:
PHP:
echo "Existbewertungtemp: ".$existbewertungtemp;
echo "<br>";
echo "Stimme: ".$stimme;
echo "<br>";
$existbewertung = explode (",",$existbewertungtemp); // teilen und array erstellen
print_r($existbewertung);
echo "<br>";
array_push($existbewertung, "$stimme");
print_r($existbewertung);
und poste die Ausgabe
 
Vielleicht habe ich auch einen Denkfehler?
Sodass er einen Wert schon hinten an das array anhängt, sobald ich die Seite lade und durch das auslösen des Submit Buttons nur den Wert verändere?

Steh ich aufm Schlauch?

Hier ist das ganze Skript (die we:Tags sind Systembeding):
PHP:
<?php $myobjectid = $_REQUEST['we_objectID']; ?>
<form method="post" >
<?php
$werte = array(0,1,2,3,4,5,6);
$anzahl = count($werte);
for ($i = 1; $i < $anzahl; $i++){
	echo"<input type=\"radio\" name=\"voting\" value=\"$i\">
$werte[$i]<br>";
}

?>

<input type="submit" value="Vote"><!-- Grafik einfügen nicht vergessen-->
</form>
<?php 
$stimme = $_POST['voting'];

?>
<!--Bewertung auslesen und in Variable schreiben-->
<we:object classid="13" id="\$myobjectid">
<?php 
$existbewertungtemp = $GLOBALS["lv"]->f("Bewertung"); 
?>
</we:object>
<?php

echo $existbewertungtemp; 
echo "<br>"; 
$existbewertung = explode (",",$existbewertungtemp); // teilen und array erstellen 
print_r($existbewertung); 
echo "<br>"; 
array_push($existbewertung, "$stimme"); 
print_r($existbewertung); 

//$existbewertung = explode (",",$existbewertungtemp); // teilen und array erstellen

//array_push($existbewertung, "$stimme");
//print_r($existbewertung);
//$existbewertung = array_slice ($existbewertung, 1); // führendes Komma entfernen

//$existbewertung[] = $stimme;
$existbewertungfinish = implode(",", $existbewertung);
echo $existbewertungfinish;
//$existbewertung = $_REQUEST[we_ui_we_global_form][Bewertung];
//echo $existbewertung;*/
//$_REQUEST[edit_object] = 1; // Achtung WebEdition, es soll ein Objekt geändert werden!
//$_REQUEST[we_editObject_ID] = $myobjectid; // ID des zu ändernden Objekts 

?>
 
Jetzt mal ohne den Quelltext von dir Zeile für Zeile zu studieren.

Du solltest natürlich mit
PHP:
if($_POST) {
   // HIER AUSWERTEN
}
arbeiten.

/EDIT:
Ähmm und warum explodest du überhaupt wenn du danach alles wieder implodest ohne dazwischen mit den Daten zu arbeiten. Du könntest da ja an $existbewertung auch den Wert $stimme einfach anhängen. Zumindest lese ich das so sollte es das komplette Script sein.,
 
Zuletzt bearbeitet:
Versteh ich dich richtig?
So:
PHP:
if($_POST) { $stimme = $_POST['voting']}

Sodass nur was an das Array angefügt wird, wenn auch gevotet wurde?
 
Zurück