brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #16 (permalink)  
Alt 28-06-2011, 11:25
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.550
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Problem: Von z. B. 5 Checkboxen im Formular kommen nur die an, die auch aktiviert sind (z. B. nur 2). Wenn man also die Post-Daten durchrattert, werden immer die ausgeschalteten fehlen. Dein Script kennt die Checkboxen aber und natürlich auch deren Bedeutung, denn es muss die Formulardaten ja auch verarbeiten.

Lösung: Erstelle für jedes erwartete Checkbox-Feld eine Boolean-Variable mit dem Wert false. Wenn die Post-Variable für diese Checkbox gesetzt ist, ändere den Wert auf true. Gruppen von Checkboxen lassen sich ebenso mit Gruppen von Variablen abbilden – also mit Arrays.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #17 (permalink)  
Alt 28-06-2011, 11:56
Ingo71
 Registrierter Benutzer
Links : Onlinestatus : Ingo71 ist offline
Registriert seit: Mar 2011
Beiträge: 10
Ingo71 befindet sich auf einem aufstrebenden Ast
Standard

Danke für deine Hilfe.

Das übersteigt wohl aber gerade meinen php Horizont. ^^

Du meinst bestimmt deine Erklärung mit isset.
Aber hab leider überhaupt kein Plan, wo und wie ich das unterbringe.

Gruß
Ingo
Mit Zitat antworten
  #18 (permalink)  
Alt 28-06-2011, 12:54
Ingo71
 Registrierter Benutzer
Links : Onlinestatus : Ingo71 ist offline
Registriert seit: Mar 2011
Beiträge: 10
Ingo71 befindet sich auf einem aufstrebenden Ast
Standard

Ne ich bekomms einfach nicht hin.
Es spuckt nie aus was ich möchte.
Kannst mir nochmal unter die Arme greifen??

Danke
Gruß Ingo
Mit Zitat antworten
  #19 (permalink)  
Alt 28-06-2011, 13:06
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.550
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Versuch's mal mit
HTML-Code:
<input ... name="status[$id]" .../>
dann hast du die korrekte Zuordnung über die ID, ansonsten verrutscht ja alles, weil eben nur die mitgeschickt werden, die angetickt sind:

Code:
id:     2, 3, 4, 10, 12
status: 0, 1, 0,  0,  1
ergibt den Request-Body
Code:
id[]=1&id[]=2&id[]=3&id[]=4&id[]=10&id[]=12&status[]=on&status[]=on
ergibt in PHP
PHP-Code:
array(
    
"id" => array(
        
=> 2,
        
=> 3,
        
=> 4,
        
=> 10,
        
=> 12,
    ),
    
"status" => array(
        
=> "on"// statt 1 => "on"
        
=> "on"  // statt 4 => "on"
    
)

Wenn du aber im Namen des Feldes die ID als Array-Index benutzt, kann das nicht passieren.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!

Geändert von AmicaNoctis (28-06-2011 um 13:10 Uhr)
Mit Zitat antworten
  #20 (permalink)  
Alt 28-06-2011, 15:03
Ingo71
 Registrierter Benutzer
Links : Onlinestatus : Ingo71 ist offline
Registriert seit: Mar 2011
Beiträge: 10
Ingo71 befindet sich auf einem aufstrebenden Ast
Standard

Das sieht schon mal vielversprechender aus ^^.

Hab den Code geändert in:

PHP-Code:
     echo "<td align=\"left\"><input type=\"hidden\" name=\"id[$id]\" readonly value=\"$id\" size=\"5\"/></td>";
     echo 
"<td align=\"center\"><b>SPIELTAG : </b><input type=\"text\" name=\"gameday[$id]\" readonly value=\"$gameday\" size=\"2\"/</td>";
     echo 
"<td align=\"left\"><input type=\"checkbox\" name=\"status[$id]\" value=\"$id\"/></td>"
Das ergibt folgende Ausgabe:


Nur gibt er mit dem Folgeformular imme rnoch keine Spieltage frei:

PHP-Code:
  $id $_POST["id"];
  
$liga $_POST["liga"];
  
$gameday $_POST["gameday"];
  
$status $_POST["status"]; 
  
  
print_r ($id);
  
print_r ($status);
  
print_r ($gameday);
  
  
  for(
$i=0$i<count($id); $i++)
  {
  
$sqlab_update mysql_query("UPDATE fmo_ligen_spieltage SET status = '1' WHERE id = '$status[$i]'") OR die(mysql_error()); 
Irgendwo liegt der Hase noch begraben.
Mit Zitat antworten
  #21 (permalink)  
Alt 28-06-2011, 15:12
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.550
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

print_r($status) sollte dir doch sehr schön zeigen, dass der Array-Schlüssel jeweils die ID ist, oder etwa nicht? Wie kommst du dann auf die Idee, du könntest dir auf einmal die Werte eines assoziativen Arrays mit so 'ner blöden for-Schleife rausholen, die einfach stur fortlaufende numerische Schlüssel erzeugt? Warum nimmst du nicht foreach, was viel bequemer über ein Array iteriert und dir sogar noch die richtigen Schlüssel mitliefert?

Warum setzt du im SQL-Statement status auf 1 wenn die ID = 'on' ist? Das ergibt doch keinen Sinn. Sieh dir bitte nochmal ganz genau an, was print_r dir ausgibt, denk darüber nach, wie du das sinnvoll verwursten kannst und lass dir um Himmels Willen dein Statement mit echo ausgeben, bevor du es abschickst. EDIT: Achso, weil der Wert wieder die ID ist. Naja, ich würde das ändern, sonst zieht man aufgrund dieser verwirrenden Zusammenhänge noch falsche Schlüsse. Lass bei den Checkboxen einfach das value-Attribut weg.

Dann wäre noch die Sache mit SQL Injections, die du mit mysql_real_escape-string ohne viel Aufwand verhindern kannst.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!

Geändert von AmicaNoctis (28-06-2011 um 15:17 Uhr)
Mit Zitat antworten
  #22 (permalink)  
Alt 28-06-2011, 15:49
Ingo71
 Registrierter Benutzer
Links : Onlinestatus : Ingo71 ist offline
Registriert seit: Mar 2011
Beiträge: 10
Ingo71 befindet sich auf einem aufstrebenden Ast
Standard

Das hört sich gerade nach nem verdienten Granatenanschiß an ^^
Hab ich wohl verdient, aber ich blick überhaupt nix mehr.

Trotzdem für deine Geduld und Mühe.

Vieleicht komme ich mit bischen Abstand auf den Trichter, wie du es meinst.

Gruß
Ingo
Mit Zitat antworten
  #23 (permalink)  
Alt 28-06-2011, 15:54
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.550
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Nimm's nicht persönlich, ich meinte es nicht böse.

Das mit der Auszeit klingt sinnvoll.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Bestimmte Spalten MySQL,überprüfen ob Wert==0,Gefundene Spalten in Array speichern... CPU-Power PHP Developer Forum 4 11-04-2007 06:51
Werte in ein Array speichern und in mySQl serialisieren phpscripter PHP Developer Forum 3 01-09-2005 14:10
[PHP + MYSQL] Daten in Array speichern aKuT PHP Developer Forum 14 20-05-2005 17:29
array --> key u. wert, mysql u. php V.F.A PHP Developer Forum 7 08-04-2004 23:39
Array in MySQL speichern Mr Agent X SQL / Datenbanken 2 30-09-2003 21:37

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

MariaDB 5.5 veröffentlicht
MariaDB 5.5 veröffentlichtDie freie MySQL-Alternative MariaDB wurde in der stabilen Version 5.5.23 veröffentlicht und soll einige Verbesserungen gegenüber Oracles Communityversion von MySQL mitbringen.

16.04.2012 | Berni

Deutsche Yii Framework Community
Deutsche Yii Framework CommunitySeit dem 19.03.2012 gibt es für die Yii PHP Framework Community ein deutsches Zuhause.

20.03.2012 | dhcomputer

 

Aktuelle PHP Scripte

EM 2012 Tipp-Spiel ansehen EM 2012 Tipp-Spiel

Online Tipp-Spiel zur Fussball Europameisterschaft 2012, basierend auf php-Script mit hinterlegter mySql-Datenbank

27.05.2012 tippimnetz | Kategorie: PHP/ Spiele
Advanced Login ansehen Advanced Login

Login-System und Kundenverwaltung, die sich spielend leicht in bestehende Webseiten einbauen lässt und einen enormen Funktionsumfang bietet. Ihre eigene Webseite muss mit Advanced Login nicht umständlich an ein fertiges System angepasst werden.

25.05.2012 Madden | Kategorie: PHP/ Kundenverwaltung
BROM CMS/BelCal 3 ansehen BROM CMS/BelCal 3

Spezielles CMS für Betreiber von Ferienwohnungen. Komplette Seitenerstellung online, Verwaltung mehrerer Objekte, Reservierungssystem mit sofortigem Abgleich im Belegungskalender und vieles mehr bietet dieses Content Management System.

25.05.2012 belcal2 | Kategorie: PHP/ CMS
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:15 Uhr.