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! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 05-05-2008, 19:28
skiveit
 Newbie
Links : Onlinestatus : skiveit ist offline
Registriert seit: May 2008
Beiträge: 4
skiveit ist zur Zeit noch ein unbeschriebenes Blatt
Exclamation Formular soll nicht zurückgesetzt werden...

Hallo phpgemeinde,

Ich musste für einen Kunden von mir einen Designer schreiben und er funktioniert auch, nur die Vorschau spinnt noch ein bisschen.

Die Funktionsweise:
Die Daten für die Vorschau werden aus der Datenbank ausgelesen und in radio-buttons gepackt.
Jeder Radio-Button besitzt bei Value, eine ID und eine mit kommagetrennte Information über den Bildnamen.
Diese Values werden an das Vorschauscript übergeben und mit explode() abgetrennt.
Zum Abschicken benutze ich 2 submit buttons, einen für die Vorschau und einen für in den Warenkorb legen. Diese unterscheide ich in der "action".

Das Problem ist Folgendes:
Nach einem Klick auf Vorschau wird das Formular zurückgesetzt und der Besucher muss die Daten neu eingeben und das soll nicht sein.

Einige Codeschnipsel:

Das Formular wird so abgeschickt: in der action steht eine Funktion, von dieser Funktion hab ich den Teil genommen in der ich prüfe welcher Submit-Button geklickt wurde. id[1] - [3] sind die Variablen für die Vorschau.php.
PHP-Code:
      case 'add_product' :    if (isset($_POST['vorschau'])){
                              echo 
'<script type="text/javascript">window.open("vorschau.php?var1=' rawurlencode($id[3])
 . 
'&var2=' rawurlencode($id[1])
 . 
'&var3=' rawurlencode($id[4]) . '","_blank");</script>';
                              break;
                              
                              } else {
                                ... 
nicht von Bedeutungdenn war schon vorher da und läuft...
                              break;
                              } 

Der Submit-Button in Javascript damit er nur bei Activiertem Javascript angezeigt wird:
PHP-Code:
    <script type="text/javascript">
        
document.writeln('<tr>');
        
document.writeln('    <td align="center"><input type="submit" 
name="vorschau" value="Vorschau des Produktes" /></td>'
);
          
document.writeln('</tr>');
    
</script> 

Hier werden die Radio-Buttons erstellt:
PHP-Code:
foreach ($products_options_array as $opti_array){
...
<
input type="radio" name ="id[' . $products_options_name['products_options_id'] . ']" 
value="' . $opti_array['id'] . ',' . $opti_array['thumbnail'] . '" checked>
...

Hat jemand eine Idee, wie ich das Problem lösen kann???

Danke schon mal für eure Hilfe

Grüße Micha

Geändert von skiveit (05-05-2008 um 20:11 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 05-05-2008, 19:55
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

als erstes brichst du mal deinen code um. kein mensch scrollt gerne kilometerweit nach rechts.

peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #3 (permalink)  
Alt 05-05-2008, 20:45
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Hat jemand eine Idee, wie ich das Problem lösen kann???
indem du zuerst mal den code mit den action-attributen postest.
btw: du gehst extrem kompliziert an die sache heran. wenn die vorschau in einem popup geöffnet werden soll, so nimm einfach einen link für "Vorschau", leg da ein oncklick-handler drauf mit window.open und fertig ist es. dafür brauchst du kein submit-button. dann gehen auch die werte nicht verloren.

gruß
peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #4 (permalink)  
Alt 05-05-2008, 20:57
skiveit
 Newbie
Links : Onlinestatus : skiveit ist offline
Registriert seit: May 2008
Beiträge: 4
skiveit ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Kropff
indem du zuerst mal den code mit den action-attributen postest.
btw: du gehst extrem kompliziert an die sache heran. wenn die vorschau in einem popup geöffnet werden soll, so nimm einfach einen link für "Vorschau", leg da ein oncklick-handler drauf mit window.open und fertig ist es. dafür brauchst du kein submit-button. dann gehen auch die werte nicht verloren.

gruß
peter
Kannst du mir zufällig auch sagen, wie das mit dem onclick funktioniert, hab dies nämlich auch schon versucht, aber ich bin nicht zurande gekommen.

wie muss das richtig aussehen?


muss diese 3 Variablen übergen:
PHP-Code:
"vorschau.php?var1=' . rawurlencode($id[3])
 . '&var2=' . rawurlencode($id[1])
 . '&var3=' . rawurlencode($id[4]) . ' 
die Werte $id[1], $id[1] und $id[1] werden im Formualr mithilfe von Radiobuttons gefüllt!

Grüße Micha
Mit Zitat antworten
  #5 (permalink)  
Alt 05-05-2008, 21:20
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

indem du per javascript auf die werte zugreifst a la
PHP-Code:
document.formularname.elements 
siehe auch selfhtml

gruß
peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #6 (permalink)  
Alt 06-05-2008, 11:12
skiveit
 Newbie
Links : Onlinestatus : skiveit ist offline
Registriert seit: May 2008
Beiträge: 4
skiveit ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Kropff
indem du per javascript auf die werte zugreifst a la
PHP-Code:
document.formularname.elements 
gruß
peter

mhm... wenn ich das richtig verstanden habe, kann ich damit auf die Einzelnen Radio-buttons in einer Gruppe zugreifen, aber das ist doch nicht das was ich möchte. ich muss doch entweder den weg bestreiten, den ich in meinem ersten Post geschrieben habe, oder ich muss die variablen an ein popup-fenster übergeben, aber wie mach ich das mit javascript?

Bitte ein konkretes beispiel für eine der variablen mitliefern, bin was javascript angeht nicht sonderlich bewandert...


Grüße Micha
Mit Zitat antworten
  #7 (permalink)  
Alt 06-05-2008, 11:18
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
feld_1 document.formularname.elementname.value;
window.open('vorschau.php?var1=' feld_1); 
so in der art.

peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #8 (permalink)  
Alt 08-05-2008, 10:59
skiveit
 Newbie
Links : Onlinestatus : skiveit ist offline
Registriert seit: May 2008
Beiträge: 4
skiveit ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Kropff
PHP-Code:
feld_1 document.formularname.elementname.value;
window.open('vorschau.php?var1=' feld_1); 
DAnke das war ein Wink in die richtige Richtung.

Mit dem Code klappt es:

PHP-Code:
<script language="JavaScript">
function 
createvorschau()
{

var 
id3_ok false
for (var i=0i<document.cart_quantity.id3.lengthi++){
   if (
document.cart_quantity.id3[i].checked){
      
id3_ok true
      
var vari1 document.cart_quantity.id3[i].value
    } 


var 
id1_ok false
for (var i=0i<document.cart_quantity.id1.lengthi++){
   if (
document.cart_quantity.id1[i].checked){
      
id1_ok true
      
var vari2 document.cart_quantity.id1[i].value
    } 
}

var 
id4_ok false
for (var i=0i<document.cart_quantity.id4.lengthi++){
   if (
document.cart_quantity.id4[i].checked){
      
id4_ok true
      
var vari3 document.cart_quantity.id4[i].value
    } 
}
 
window.open ("vorschau.php?var1="+vari1+"&var2="+vari2+"&var3="+vari3 'Ihre Vorschau''width=175,height=200');
}

</script> 
Jetzt hab ich nur noch 2 kleine Probleme:

1. Die Felder heißen nicht id1, id3, id4, sondern id[1], id[3], id[4], hab Sie nur zum testen id1 benannt, im späteren Verlauf müssen Sie id[1] heißen. Es klappt aber mit der KLammer nicht, da Javascript dies dann für ein Array hält. Wie muss ich meinen Code umschreiben, dass es auch für die Variante mit klammern geht???

2. Die Variable id[1], kann sonderzeichen wie ß,ö,ä,ü enthalten, in php würde ich jetzt rawurlencode($id[1]) verwenden, wie muss ich das aber bei Javascript machen???

Danke schon mal für eure Hilfe


Grüße Micha
Mit Zitat antworten
Antwort

Lesezeichen


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

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

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:53 Uhr.