Checkbox abfragen

Moin,

ich steh wie der Ochs vorm Berg!

Also ich möchte beim betätigen eines Buttons abfragen ob ne Checkbox angehakt ist.
Quasi wenn die Checkbox NICHT angehakt ist, soll er nichts zu, wenn ja dann soll er DB-Abfrage machen.

Ich hab -->

 if(isset($\_POST['auflisten\_daten']) || $\_POST['kundenID'] =="")
 {
 echo "Bitte erst Kunde auswählen";
 }
 else 
 {
$dbverbindung = mysql\_connect ($host, $user, $password);
und so weiter und so fort.

Leider klappt das nicht, er bringt immer nun „Bitte erst Kunde auswählen“ macht keine Abfrage auch wenn Haken gesetzt ist.

Wie schaffe ich das das er a) nur die Abfrage macht, wenn n Haken gesetzt ist und b) das er auf der Seite bleibt wo der Haken gesetzt wird?

Gruß Rolf

if(isset($_POST[‚auflisten_daten‘]) ||
$_POST[‚kundenID‘] =="")

|| steht für „oder“
Vermutlich ist eine dieser Bedingungen immer erfüllt…?
Alternativ machst Dus einfach ein klein wenig umständlicher und gibst Deiner Checkbox einfach einen Wert mit…
Und da kannst Du dann viel sicherer Abfragen, ob der Wert da ist, oder eben nicht…
Ich bin mir nämlich nicht sicher, ob alle Browser sich da gleich verhalten und eine leere Variable mitschicken oder das lieber sein lassen…

HTH
Grüße
Munich

Moin,

ich steh wie der Ochs vorm Berg!

Also ich möchte beim betätigen eines Buttons abfragen ob ne
Checkbox angehakt ist.
Quasi wenn die Checkbox NICHT angehakt ist, soll er nichts zu,
wenn ja dann soll er DB-Abfrage machen.

Ich hab -->

if(isset($_POST[‚auflisten_daten‘]) ||

$_POST[‚kundenID‘] ist ein array

wenn dann

if (isset($\_POST['kundenID'])) {

$arrayKunden = $\_POST['kundenID'];

foreach($arrayKunden as $kundenid ) {

 if ($kundenid == "AG Farben & Co") 
 { /\* hier für die firma \*/
 }
}
// $dbverbindung = mysql\_connect ($host, $user, $password);
// etc etc etc... 

} else {
 echo "bitte bei mindestens einem Kunden ein häckchen setzen ! ";
}

Leider klappt das nicht, er bringt immer nun „Bitte erst Kunde
auswählen“ macht keine Abfrage auch wenn Haken gesetzt ist.

wie gesagt, checkboxen sind arrays ,

input_checkbox.htm?zutat=salami _&_zutat =sardellen _&_zutat =Daten+absenden

Hallo zusammen,

es muss

lauten, damit beide Checkboxen ggf. - also wenn angehakt - wirklich in einem Array abgelegt werden.

Wenn im Frontend nur eine Checkbox existiert, ist es auch nur ein normaler String. Wobei man auch hier wieder erwähnen muss, dass der name-Wert MIT [] ein Array in php bildet, und ohne nunmal nur einen String.

Ein guter Tipp beim entwickeln, ist ein regelmäßiges Debuggen.
Wenn du gerne wissen möchtest, wie ein Formular Daten übergibt, dann mache das am besten mit

<?php print_r($_POST); ?> oder <?php print_r($_GET); ?>.

Wenn du es noch übersichtlicher magst:

<?php echo '
';  
print\_r($\_POST);  
echo '';  
?\>  
  
Wenn du den Variablentyp wissen willst, nutze var\_dump(VARIABLE), wenn du einmal mit Objekten arbeiten solltest.

Moin moin,

also meine Checkbox schaut so aus -->

Zuerst werden mir alle Kunden aufgelistet über ne MySql-Abfrage
Jeder Kunde hat ne KudenID , wenn ich nun den Kunden XYZ anhake, frägt er mir alle Daten des Kunden ab und zeigt sie an.

Also die Checkbox ansich ist ja im Grunde schon gefüllt, aber er soll nur gefüllt sein wenn ich nen Haken setze.

Ich hoffe das ist so verständlich?

Gruß Rolf

Das jetzt aber nen ganz anderes thema, du willst also die checkbox wiederherstellen.

dazu muss mit dem PHP dann auch die FORM erstellt werden und bei jedem input vergleichen , wenn wert gleich übergebene ID dann checked setzen also

Hmmm, ne.

Scheinbar drücke ich mich korrekt aus.

Ich versuchs nochmal :smile:

Also ich hab ne DB-Abfrage (Kunden), das Ergebnis sind einer oder auch mehrere Kunden, die zeilenweise ausgegeben werden.
Hier wähle ich über einen Optionsschalter den jeweiligen Kunden aus.

Dieser ausgesuchte Kunde hat eine kundenID, was der Inhalt meiner Checkbox dastellt, diese KundenId benötige ich für eine weiter Abfrage.

Select \* from kunden where kundenId='".$\_POST['kundenID']."'pre\>

Diese Abfrage wird ausgelöst durch nen Klick auf den Button --\>


    $\_POST['auflisten\_daten']



So und nun soll er chekcn ob meine Checkbox "kundenID" angehakt ist, bzw da es mehrere Checkboxen sind, ob überhaupt eine angehakt ist.

Wenn nicht dann eben --\> 

    echo "Erst Kunden auswählen";


und die vorherige Abfrage soll er so auf der Seite stehen lassen, so dass ich nicht mit den Zurück-Button zurück gehen muss.

Wenn ein Haken aber gesetzt ist, soll er mir meine Abfrage machen.

Ich hoffe nun wirds klarer.......

Gruß Rolf

Hmmm, ne.

Scheinbar drücke ich mich korrekt aus.

Ich versuchs nochmal :smile:

Also ich hab ne DB-Abfrage (Kunden), das Ergebnis sind einer
oder auch mehrere Kunden, die zeilenweise ausgegeben werden.
Hier wähle ich über einen Optionsschalter den jeweiligen
Kunden aus.

Dieser ausgesuchte Kunde hat eine kundenID, was der Inhalt
meiner Checkbox dastellt, diese KundenId benötige ich für eine
weiter Abfrage.

Select * from kunden where
kundenId=’".$_POST[‚kundenID‘]."'pre>

Diese Abfrage wird ausgelöst durch nen Klick auf den Button
–>

$_POST[‚auflisten_daten‘]

So und nun soll er chekcn ob meine Checkbox „kundenID“
angehakt ist, bzw da es mehrere Checkboxen sind, ob überhaupt
eine angehakt ist.

Wenn nicht dann eben -->

echo „Erst Kunden
auswählen“;

bis dahin ist alles klar.

und die vorherige Abfrage soll er so auf der Seite stehen
lassen, so dass ich nicht mit den Zurück-Button zurück gehen
muss.

Ab hier wiederspreche ich Dir. Ein abschicken eines formulars erwartet logischerweise eine antwort. Z.b. "falsche daten , eingabe ändern. Nun ist aber bei der rückgabe dieser antwort auch wieder das ganze formular neu zu schicken mit der wiederhergestellten user eingabe.

Du kannst natürlich auch JavaScript etc nehmen, aber das ist die schlechteste aller möglichkeiten.

Beispiel
http://abacvs.org/oldserver/helptheworld/php/checkbo…

<?php $kundenID = array();<br />$fehler ="";
if (isset($\_GET['auflisten\_daten']) ) {
 if (isset($\_GET['kundenID'])) {
 $kundenID = $\_GET['kundenID'];
 } else {
 $fehler="Sie haben keine Auswahl getroffen.";
 }
} else {
?\> Hallo ! ,Hier Ihre auswahlmöglichkeit 
<?php } <br />
if (count($kundenID) == 1 ) {
// tu das was getan werden muss für $kundenID
} else {

?\> Bitte wählen Sie genau <u>einen</u> Kunden aus und abschicken !! <?php echo $fehler; ?>
<?php $sqlresultarray = array("ID1"=>"Kunde1Name", "ID2"=\>"Kunde2Name");
?\>
<?php // for sql use only
// while ($row = mysql\_fetch\_array($sqlresultarray, MYSQL\_NUM)) { // $kid = $row['id']; // $kname = $row['name']; foreach ($sqlresultarray as $kid=\>$kname) { ?\> -1) {echo "checked";} ?\>\><?php echo $kname ?> <?php }
?\> <?php // for sql use only
// } } ?\> > Wenn ein Haken aber gesetzt ist, soll er mir meine Abfrage > machen. > > Ich hoffe nun wirds klarer....... > > Gruß Rolf

Hmmm, ok

Schade, schade.

Dann muss ich das andes lösen.

Danke und Gruß
Rolf

Der Wert wird doch nur übertragen, wenn die Checkbox auch gewählt ist
und das lässt sich doch leicht überprüfen.
Wo ist also das Problem?

Hi,

genau das will ich haben.
Wie aber bekomme ich das hin?

Gruß Rolf