Sagt mir irgendwer warum der die werte nich übergibt

derZwerch

Mitglied
Problem mit der Übergabe ob Radiobutton gewählt oder nicht

ich kriegs nicht hin die werte der radiobuttons vernünftig zu übergeben peil es einfach nich
kann ich den/das Value auch auslesen
echo("<form action='$PHP_SELF' method=\"post\" class=\"style7\">");
echo("<tr>
<td bgcolor=\"#$i\"><font class=\"style1\"> <input type=\"radio\" name=\"check\" value=\"".$ausgabe[HD]."\"></font></td>
<td bgcolor=\"#$i\"><font class=\"style1\"><name=\"hd\">$ausgabe[HD] </font></td>
...


If-schleife:

if ($_POST['check']==TRUE)
{
echo("Festplatte");
echo($_POst['value']);
echo ("&auml;ndern");
 
Zuletzt bearbeitet:
1) Eine konsistenter, sinnvoller Coding-Standard kann nur sinnvoll sein. Näheres hierzu bitte hier nachlesen.

2) Wenn ich mich daran halte und einige gemeine Anfägerfehler ausmerze, dann würde dein Script wie folgt aussehen.

PHP:
echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"post\" class=\"style7\">";
echo "<tr><td bgcolor=\"#".$i."\">";
echo "<font class=\"style1\"> <input type=\"radio\" name=\"check\" value=\"".$ausgabe['HD']."\"></font>";
echo "</td>";
echo "<td bgcolor=\"#".$i."\"><font class=\"style1\"><name=\"hd\">".$ausgabe['HD']." </font></td>";

// [...]

// If-Abfrage:

if ($_POST['check'] == "on") 
// Oder steht in $ausgabe['HD'] TRUE? Wenn nicht, lass das value Attribut doch
// einfach weg. Bei fehlendem value Attribut wird nämlich "on" übergeben.
{
echo "Festplatte";
echo $_POST['value'];
echo "ändern";
 
mhm...
ich glaub ich bin einfach zu blöd dafür...
es net habs jetzt so geändert wie du meintest...
aber nix...
der springt einfach nicht in die IF-Schleife..
das komische ist das ich in dem skript 5 oder 6 if-abfragen nach dem gleichen prinzip habe die alle funzten.. naja die machen auch nix mit radiobuttons...
PHP:
// SChleifenbedingung nochmal
 if ($_POST['check']=="on") 


//jetzt einmal die gesamte tabelle
while ($ausgabe = mysql_fetch_array($result))
{$n++;
if ($n % 2==0)
{$i = 'cddee9';}
else
{
$i='f5f5f5';}
//value=\"".$ausgabe[HD]."\"


echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"post\" class=\"style7\">"; 

echo("<tr>
<td bgcolor=\"#$i\"><font class=\"style1\"> <input type=\"radio\" name=\"check\" ></font></td>
<td bgcolor=\"#$i\"><font class=\"style1\"><name=\"hd\">$ausgabe[HD] </font></td>
<td bgcolor=\"#$i\"><font class=\"style1\">$ausgabe[ORT]</font></td>
<td bgcolor=\"#$i\"><font class=\"style1\">$ausgabe[OS]</font></td>
<td bgcolor=\"#$i\"><font class=\"style1\">$ausgabe[SPRACHE]</font></td>
<td bgcolor=\"#$i\"><font class=\"style1\">$ausgabe[USER]</font></td>
<td bgcolor=\"#$i\"><font class=\"style1\">$ausgabe[DATUM]</font></td>
<td bgcolor=\"#$i\"><font class=\"style1\">$ausgabe[NOTES]</font></td>
<td bgcolor=\"#$i\"><a href=\"$ausgabe[HD].txt\" target=\"_blank\"><font class=\"style1\"> $ausgabe[HD].txt<font></a></td>
</tr>");
echo ("</form>");
$i++;
}


so hattest du das gemeint oder?
 
1) Bitte halte dich unbedingt an unsere Netiquette. Der knallrote Kasten beim verfassen neuer Beiträge sollte doch nicht zu übersehen sein oder? Weiter Verstöße werden zwangsläufig Folgen nach sich ziehen.

2) Self-Debugging ist das Stichwort.
Wenn er nicht in die If-Abfrage reinspringt, dann musst du halt mal den Wert per echo ausgeben den du überprüfst (natürlich ausserhalb der eigentlichen if-Abfrage). Wie schon gesagt. Wenn dein <input type="radio" .../> ein value Attribut hat, wird dieses übergeben, dann ist
$_POST['name'] == "value",
lässt du das value-Attribut hingegen weg so wird
$_POST['name'] == "on"
übergeben.

3) Es ist eine If-Anweisung (oder If-Abfrage) und keine If-Schleife. Schleifen sind in PHP while, for und foreach.
 
Weiss nicht recht was du grad gegen meine Nettiquette einzuwänden hattest
ich war nett freundlich und hab glaub ich auch keine grösseren Tippfehler gemacht?
Das das them schön öfters besprochen wurde ändert ja nichts daran das ich meinen fehler nicht finde, hab fast alle beiträge zu dem thema gelesen und diverse versionen durchprobiert nur leider alles mit mäsigem erfolg...

und dein tipp mit dem echo hab ich auch schon versucht gehabt wäre ich nicht ratlos hätte ich das Thema nicht gepostet
 
Original geschrieben von derZwerch
Weiss nicht recht was du grad gegen meine Nettiquette einzuwänden hattest
- durchgehende Kleinschreibung.
- "net" statt "nicht".
- f unzt wurde komplett von der Forensoftware zensiert.
- fehlende Interpunktion. Jeder Satz wird bei dir mit einem "..." abgeschlossen.

Das sind so im wesentlichen die Punkte, in denen du, bei deinen bisherigen Posts, gegen unsere Foren-Netiquette verstoßen hast. ;)

Nochmal zu deinem Problem. Hast du mal versucht, oberhalb der If-Anweisung den Wert, den du überprüfst, per echo auszugeben? Wenn ja, was gibt er aus? Wenn nein, warum hast du es noch nicht gemacht?
 
ALso versuche mich zu bessern!
Zum Problem:
In die SChleife komm ich inzwischen krieg aber keine Werte ausgegeben wenn ich ein echo versuche
Habe inzwischen mehrere Varianten durch, hier ein Auszug mit if-Anweisung:

if ($_POST['check']==$value)
{

echo("Festplatte ");
echo($value);
echo($_POST['value']);
echo ($ausgabe['HD']);
echo($hd);
echo (" &auml;ndern");


Bin inzwischen echt ratlos ich hab immer die Probleme mit checkboxen und Radiobuttons versteh da das Pinzip erinfach nicht!
 
Vielleicht mit:
PHP:
if (isset($_POST['check'])) 
{ 
echo("Festplatte"); 
echo($_POST['check']);
echo ("ändern");
}
ist ja eigentlich erstmal egal, was "check" für einen Wert hat.... und wenn du mit $_POST['value'] den Wert von check meinst...kommst du da eben mit $_POST['check'] ran...ein Formularfeld "value" sehe ich jedenfalls nicht.

P.S. was ist das für ein Element <name>:rolleyes: ... kenn ich nicht
 
Mal ganz im Ernst. Sprech ich Chinesisch oder WILL mich da jemand nicht verstehen?

Folgendes wurde von mir im Verlauf dieses Threads gesagt:
Hast du mal versucht, oberhalb der If-Anweisung den Wert, den du überprüfst, per echo auszugeben?
dann musst du halt mal den Wert per echo ausgeben den du überprüfst (natürlich ausserhalb der eigentlichen if-Abfrage)

Er Springt nicht in die if-Anweisung, weil anscheinend die dafür nötige Bedingung nicht erfüllt ist. Also muss ich mir doch mal überlegen, was denn in der Variable drinsteht, die ich überprüfe. Wenn er aber erst gar nicht IN die Anweisung reinspringt, was macht es dann für einen Sinn, den Wert der Variable innerhalb der Anweisung auszugeben? Der Code wird doch gar nicht ausgeführt, da die Bedingung nicht erfüllt ist.
 
Er hat doch oben folgendes:
PHP:
<?
echo '<input type="radio" name="check" value="'.$ausgabe[HD].'">';
?>
Da wird dem check ein genauer Wert zu geordnet.
Überprüfen tut er dann mit
PHP:
<?
if ($_POST['check']==TRUE) 
?>
Man kann doch eine Variable mit genauen Inhalt nicht auf == TRUE vergleichen? Dazu müsste sie doch TRUE oder 1 beinhalten?!
Ich würd doch einfach so kontrolieren:
PHP:
<?
if(!empty($_POST['check'])) { // [...]
?>
 
Zurück