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 (2) Themen-Optionen Bewertung: Bewertung: 3 Stimmen, 5,00 durchschnittlich.
  2 links from elsewhere to this Post. Click to view. #1 (permalink)  
Alt 13-03-2014, 19:08
CptRiot
 Registrierter Benutzer
Links : Onlinestatus : CptRiot ist offline
Registriert seit: Feb 2014
Beiträge: 13
CptRiot befindet sich auf einem aufstrebenden Ast
Standard $_POST in andere Form übernehmen

Nabend

ich habe ein kleines Problem, und zwar habe ich ein Formular um daten in eine db zu schreiben. Man kann diese daten im selben Formular anzeigen lassen, und auch löschen. Aber mit dem Bearbeiten wills leider nicht hinhauen.. Damit alle Buttons Funktionieren habe ich einige in eine 2 Form gepackt, aber diese können iwie die $_POST variablen aus der 1 Form lesen ...


1. Form:
PHP-Code:
<form action="test.php" method="post">
                <?php
                
if (empty($_GET['action']))
                {
                echo 
'&Uuml;berschrift: <input name="headline" type="text"><br />';
                }
                    if (!empty(
$_GET['action']))  
                        
//wenn GET übergeben wurde 
                        
{  
                            
$action $_GET["action"];  
                            echo 
'&Uuml;berschrift: <input name="headline" type="text" value="'$action'"><br />';
                        }     
                
?>
                
                Text: <textarea name="text" class="Einstellen" cols="88" rows="33">
                <?php
                    
if (!empty($_GET['action']))  
                        
//wenn GET übergeben wurde 
                        
{  
                            
//mit $_GET entsprechende Daten aus db lesen
                        
}
                
?>
                </textarea> <br />
                
                    <?php if (empty($_GET['action']))  
                {
                 
?><input name="submit" type="submit" value="Erstellen"><?php
                
}
                 
?>
                 <a href="test.php"><input name="clear" type="submit" value="Clear"></a>
                 
                </form>
2. Form:
PHP-Code:
<form action="test.php<?php if (!empty($_GET['action']))
                {echo 
"?action="; echo $action;} 
                
?>" method="post">
                
                <?php if (!empty($_GET['action']))  
                {
                 
?><input name="edit" type="submit" value="Bearbeiten"><?php
                
}
                 
?>
                    <input name="remove" type="submit" value="Löschen">
                </form>

und zum Bearbeiten:

PHP-Code:
<?php
                
if (isset($_POST['edit']))
                            {
                        
                                 
                                    
$hl $_POST['headline'];
                                    
$text $_POST['text'];
                                    
                                    echo 
$h1;
                                    echo 
$text;
                                    
                
                            }
                            
?>

(Damit der code net so lang is hab ich den kram der mir klar ist (aus db auslesen oder in db bearbeiten) weggeglassen denn nichtmal das was da oben jetzt steht funktionier -.- und ich hab kp warum ( vllt einfach zu unsauber ? ))
Mit Zitat antworten
  #2 (permalink)  
Alt 15-03-2014, 14:25
anihex
 Registrierter Benutzer
Links : Onlinestatus : anihex ist offline
Registriert seit: Feb 2014
Beiträge: 28
anihex befindet sich auf einem aufstrebenden Ast
Standard

Hi CptRiot,

ich hab mal ein wenig was zusammen gebastelt. Ich habe es NICHT getestet. Und ich bin mir ziemlich sicher, dass die PHP-Experten den folgenden Quelltext nicht zu 100% okay finden.
Aber ich denke für einen kleinen Fingerzeig in die (hoffentlich) richtige Richtung sollte es ausreichen.

Hier mal der Quelltext: (Verwendung auf eigene Gefahr. )
PHP-Code:
<?php
    
// Art der Aktion ermitteln
    
$action filter_inputINPUT_POST"action" );

    switch ( 
$action ) {

        
// Neuen Eintrag anlegen
        
case "new_entry":
            
// Kein POST-Ereignis? Dann endet das hier
            
if ( strtoupper$_SERVER["REQUEST_METHOD"] ) !== "POST" ) {
                break;
            }
            
// Wichtige Variablen ermitteln
            
$AuthorID filter_inputINPUT_SESSION"user_id"FILTER_VALIDATE_INT );
            
$Topic    filter_inputINPUT_POST"topic" );
            
$Message  filter_inputINPUT_POST"message" );

            
// Sind alle wichtigen Daten vorhanden?
            
if ( $AuthorID && $Topic && $Message ) {
                
// Eintrag hier anlegen
            
}
            break;

        
// Bestehenden Eintrag bearbeiten
        
case "edit_entry":
            
// Kein POST-Ereignis? Dann endet das hier
            
if ( strtoupper$_SERVER["REQUEST_METHOD"] ) !== "POST" ) {
                break;
            }
            
// Wichtige Variablen ermitteln
            
$TopicID filter_inputINPUT_POST"topic_id"FILTER_VALIDATE_INT );
            
$Topic   filter_inputINPUT_POST"topic" );
            
$Message filter_inputINPUT_POST"message" );

            
// Sind alle wichtigen Daten vorhanden?
            
if ( $TopicID && $Topic && $Message ) {
                
// Eintrag hier aktualisieren
            
}
            break;

        
// Bestehenden Eintrag loeschen
        
case "delete_entry":
            
// Kein POST-Ereignis? Dann endet das hier
            
if ( strtoupper$_SERVER["REQUEST_METHOD"] ) !== "POST" ) {
                break;
            }
            
$TopicID     filter_inputINPUT_POST"topic_id"FILTER_VALIDATE_INT );
            
$RealyDelete filter_inputINPUT_POST"realy_delete"FILTER_VALIDATE_BOOLEAN );

            if ( 
$TopicID && $RealyDelete ) {
                
// Eintrag hier loeschen
            
}
            break;
    }

    
// Hier alle Eintraege aus der Datenbank lesen
?>
<!DOCTYPE html>
<html>
    <head>
        <title>TODO supply a title</title>
        <meta charset="UTF-8">
    </head>
    <body>
        <h1>Eintraege-Verwaltung</h1>

        <h2>Neuen Eintrag anlegen</h2>
        <form method="POST">
            <label for="topic">Ueberschrift:</label> <input name="topic" required="required"><br />
            <label for="message">Nachricht:</label> <textarea name="message" required="required"></textarea><br />
            <input type="hidden" value="new_entry" name="action">
            <input type="submit" value="Neuen Eintrag anlegen">
        </form>

        <hr />

        <h2>Vorhandene Eintraege</h2>
<?php
        
foreach( $Entries as $CurrentEntry ) {
?>
        <form method="POST">
            <label for="topic">Ueberschrift:</label> <input name="topic" required="required" value="<?php echo $CurrentEntry["topic"]; ?>"><br />
            <label for="message">Nachricht:</label> <textarea name="message" required="required"><?php echo $CurrentEntry["message"]; ?></textarea><br />
            <input type="hidden" value="edit_entry" name="action">
            <input type="hidden" value="<?php echo $CurrentEntry["id"]; ?>" name="topic_id">
            <input type="submit" value="Eintrag bearbeiten">
        </form>
        <form method="POST">
            <input type="hidden" value="delete_entry" name="action">
            <input type="hidden" value="<?php echo $CurrentEntry["id"]; ?>" name="topic_id">
            <input type="checkbox" name="realy_delete"> <label for="realy_delete">Wirklich loeschen</label><br />
            <input type="submit" value="Eintrag loeschen">
        </form>
<?php
        
}
?>
    </body>
</html>
Hoffe, das hilft dir ein wenig weiter.

Gruß
~ Chris
Mit Zitat antworten
  #3 (permalink)  
Alt 15-03-2014, 15:26
CptRiot
 Registrierter Benutzer
Links : Onlinestatus : CptRiot ist offline
Registriert seit: Feb 2014
Beiträge: 13
CptRiot befindet sich auf einem aufstrebenden Ast
Standard

Erstmal Danke!! dass du mir so viel hilfst

ich weiß nicht ob ichs heute oder morgen noch schaffe mir das genauer anzugucken (vorabi ).

Aber eine Sache versteh ich so auf den ersten Blick noch nicht,
PHP-Code:
<?php
    
// Art der Aktion ermitteln
    
$action filter_inputINPUT_POST"action" );
müsste dass nicht eher
PHP-Code:
<?php
    
// Art der Aktion ermitteln
    
$action filter_inputINPUT_GET"action" );
oder so heißen? oder nimmt er in deinem beispiel automatisch den GET-Wert (id aus der URL)


LG
Chrischy
Mit Zitat antworten
  #4 (permalink)  
Alt 15-03-2014, 15:43
anihex
 Registrierter Benutzer
Links : Onlinestatus : anihex ist offline
Registriert seit: Feb 2014
Beiträge: 28
anihex befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

wenn man den Wert mit GET übergibt, dann hast du völlig recht. Aber wenn du dir den Quelltext ansiehst, stellst du fest, dass ich "action" nicht als URL-Parameter übergebe, sondern durch ein verstecktes input (<input type="hidden" name="action" value="new_entry">).
Und damit ist "action" ein POST-Wert.

Gruß
~ Chris
Mit Zitat antworten
  #5 (permalink)  
Alt 15-03-2014, 16:52
CptRiot
 Registrierter Benutzer
Links : Onlinestatus : CptRiot ist offline
Registriert seit: Feb 2014
Beiträge: 13
CptRiot befindet sich auf einem aufstrebenden Ast
Standard

Haha okay sogenau hatt ich noch nicht geguckt
Kann man ein hidden input auch per klick auf ein href link setzen ? (Habe links eine spalte in der per while schleife die überschriften ausgelesen werden und in einem href link angezeigt der die get variable setzt (inzwischen als id )

LG
Chrischy
Mit Zitat antworten
  #6 (permalink)  
Alt 15-03-2014, 17:00
anihex
 Registrierter Benutzer
Links : Onlinestatus : anihex ist offline
Registriert seit: Feb 2014
Beiträge: 28
anihex befindet sich auf einem aufstrebenden Ast
Standard

Yay!

Und wieder zeigt sich, dass ich eigentlich ein ziemlicher ... nja ... bin. Denn ich muss gestehen, dass ich gerade nicht so ganz verstanden habe, wie du das meinst.

hier mal, wie ich das verstanden habe:
Du verwendest im HTML eine Tabelle und hast dort ne eigene Spalte für verschiedene Buttons. Diese Buttons sollen Werte über ein href an ein anderes PHP-Skript übermittelt werden.

Ist das so richtig? Wenn ja: Was für Werte willst du denn schicken? Die Aktion? Die ID? Und wenn ja: Warum?
Ich fürchte, dass du mir hier ein wenig auf die Sprünge helfen musst.

Gruß
~ Chris
Mit Zitat antworten
  #7 (permalink)  
Alt 15-03-2014, 22:20
CptRiot
 Registrierter Benutzer
Links : Onlinestatus : CptRiot ist offline
Registriert seit: Feb 2014
Beiträge: 13
CptRiot befindet sich auf einem aufstrebenden Ast
Standard

Ich glaub du hast es richtig verstanden

Ich habe per css mehrere divs und im linken werden aus der datenbank die überschriften ausgelesen und dann daraus ein link gemacht wenn ich gleich zu hause bin pack ich mal den quellcode hier rein den kann ich grad nicht auswendig :P


-------

hab also ein <div>, welches ca. 1/5 der seite links abtrennt und dort folgendes einfügt


PHP-Code:
<?php 
                                            $sqlabfrage 
"SELECT * FROM  news ORDER BY `id` DESC";  
                                            
$ergebnis mysql_query($sqlabfrage) or die(mysql_error());  
                                            
//Ausgabe einer Liste  
                                                
while ($datensatz mysql_fetch_array($ergebnis))  
                                                    {  
                                            
                                                            
$id $datensatz["id"];
                                                            
$headline $datensatz["headline"];
                                                            
?>  
                                                            <a href="admin.php?action=<?php echo $id?> ">  
                                                            <?php echo $headline?><br />  
                                                            </a>
                                                            
                                                            
                                    <?php  
                                                    
}  
                                    
?>

LG
Chrischy

Geändert von CptRiot (15-03-2014 um 22:44 Uhr)
Mit Zitat antworten
  #8 (permalink)  
Alt 15-03-2014, 22:57
anihex
 Registrierter Benutzer
Links : Onlinestatus : anihex ist offline
Registriert seit: Feb 2014
Beiträge: 28
anihex befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

gut zu wissen, dass ich doch noch nicht völlig ver..naja.. bin. Beim Betrachten deines Quelltextes sprang mich glatt eine Frage an.
Was soll der Link bewirken?
Soll er den Eintrag anzeigen? Soll er den Eintrag bearbeiten? Oder soll der Eintrag gelöscht werden? Oder eine Art Mischung aus allem?

Für was auch immer du dich entscheidest: Ich denke, wenn du die ID mittels GET-Übergeben willst, solltest du vielleicht lieber "id" als Parameter-Name verwenden. "action" klingt - zumindest für mich - eher wie die Art der Aktion, nicht unbedingt das Ziel einer Aktion.

Gruß
~ Chris
Mit Zitat antworten
  #9 (permalink)  
Alt 15-03-2014, 23:19
CptRiot
 Registrierter Benutzer
Links : Onlinestatus : CptRiot ist offline
Registriert seit: Feb 2014
Beiträge: 13
CptRiot befindet sich auf einem aufstrebenden Ast
Standard

Es soll ein mix aus allem 3 sein
Er soll dann per get die id übergeben anhant derer wird der passende rest dann in ein textarea gelesen welches man dan löschen bzw bearbeiten kann (wenn man die seite ohne variable öffnet dann is alles leer und man kann wat neues erstellen)
(( es soll ne art äm ja gaanz grob könnte man vllt blog dazu sagen ))

Wie meinst das als parameter übergebwn ?

EDIT:
haha wer lesen kann ...
ja klar das gibt sinn (hatte bisher immer die headline als und nicht die id mitgegeben, daher kommt noch das action :P)


LG
Chrischy

Geändert von CptRiot (15-03-2014 um 23:29 Uhr)
Mit Zitat antworten
Antwort

Lesezeichen


LinkBacks (?)
LinkBack to this Thread: https://www.php-resource.de/forum/php-developer-forum/104556-_post-in-andere-form-uebernehmen.html
Erstellt von For Type Datum
$_POST in andere Form übernehmen - PHP Forum: phpforum.de This thread Refback 14-03-2014 17:19
$_POST in andere Form übernehmen - PHP Forum: phpforum.de This thread Refback 14-03-2014 17:17

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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Inhalt einer Html-Datei per PHP in andere Html (!) Datei übernehmen embee15 PHP Developer Forum 4 30-12-2005 09:30
warum $_POST[var aus form] und nicht $var aus form chvickers PHP Developer Forum 2 12-12-2005 19:38
FORM multipart/form-data: print_r($_FILES); ist leer captainkork PHP Developer Forum 11 21-09-2004 18:11
form übergibt kein $_POST? Gae-Bulga PHP Developer Forum 7 26-05-2004 12:54
<a ...>Abschicken</a> als "submit in einem <form>...</form> large HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 5 30-07-2003 13:03

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 04:17 Uhr.