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 29-03-2019, 22:37
HelgeHH
 Registrierter Benutzer
Links : Onlinestatus : HelgeHH ist offline
Registriert seit: Mar 2019
Beiträge: 3
HelgeHH befindet sich auf einem aufstrebenden Ast
Question Mein Projekt Telefonbuch

Hallo,

ich hänge gerade ein wenig und hoffe ihr könnt mir weiterhelfen! Ich bin absoluter PHP neuling und lerne noch. Ich komme nicht aus der IT und mache das hier einfach zum spass :-)

Nun mein Problem, ich habe ein Php skript geschrieben, teilweise aus büchern genommen und modifiziert, aber gerade komme ich nicht weiter.

ich arbeite an einer Seite auf der ich meine Datensätze suchen, eintragen und verändern kann, die ersten beiden möglichkeiten habe ich schon erreicht.

Hier mal mein Code:
PHP-Code:

<?php
error_reporting
(-1);
ini_set('display_errors'1);
if(isset(
$_POST["gesendet"]) && $_POST["nachname"] != "") {
$con mysqli_connect("localhost""root""xxx""Telefonbuch");
$sql "SELECT perso_id, nachname, vorname, strasse, plz, ort, telefonnummer, handynummer, email, webseite, nachricht FROM personen"
   
" WHERE nachname LIKE '" $_POST["nachname"] . "%'";
$res mysqli_query($con$sql);
$num mysqli_num_rows($res);
if(
$num 0) { echo "<h3>Ergebnis:</h3><br><br>";



echo 
"<table border='1'>";
echo 
"<tr> <th></th> <td>Nachname</th> <td>Vorname</th> <th>Strasse</th> <th>Plz</th> <th>Ort</th> <th>Telefonnummer</th> <th>Handynummer</th> <th>Email</th> <th>Webseite</th> <th>Notiz</th> </tr>";

while (
$dsatz mysqli_fetch_assoc($res))
{
    echo 
"<tr>";
    echo 
"<td><input type='radio' name='auswahl'";
    echo 
" value='" $dsatz["perso_id"] . "'></td>";
    echo 
"<td>"    $dsatz["nachname"] . "</td>";
    echo 
"<td>"    $dsatz["vorname"] . "</td>";
    echo 
"<td>" $dsatz["strasse"] . "</td>";
    echo 
"<td>"    $dsatz["plz"] . "</td>";
    echo 
"<td>"    $dsatz["ort"] . "</td>";
    echo 
"<td>"    $dsatz["telefonnummer"] . "</td>";
    echo 
"<td>"    $dsatz["handynummer"] . "</td>";
    echo 
"<td>"    $dsatz["email"] . "</td>";
    echo 
"<td>"    $dsatz["webseite"] . "</td>";
    echo 
"<td>"    $dsatz["nachricht"] . "</td>";
    echo 
"</tr>";
    
}
echo 
"</table>";
echo 
"<br><br><br>";
echo 
"<input type='submit' name='uebergeben' value='Datensatz bearbeiten'>";
echo 
"<br><br>";

} else { echo 
"<h3>Keine Ergebnisse!</h3><br><br><br>";
}

/* if(isset($_POST["auswahl"]) && $_POST["uebergeben"])) {
    header("Location: db.einzel_b.php");
    exit;
} else {
    echo "Bitte einen Datensatz auswählen"; 
} */



mysqli_close($con);
}
?>
Im grunde läuft das skript schon ganz gut, also die suche nach datensätzen, sie werden aufgrundlage des suchbegriffs angezeigt und sind auch per radio type auswählbar, lediglich das uebergeben an die datei db_einzel_b.php wenn ich auf auf den submitbutton mit name = uebergeben drücke, klappt noch nicht!

Steinigt mich bitte nicht, ich habe meine lösung die leider nciht funzt in Kommentarzeichen eingeschlossen.

Über tipps / anregungen zur funktionalität wäre ich dankbar.

Ich weiss auch das mein code noch einige sicherheitsaspekte verträgt, wie gesagt ich lerne noch :-)

Gruß,

Helge
Mit Zitat antworten
  #2 (permalink)  
Alt 29-03-2019, 23:31
Flavaslava
 Registrierter Benutzer
Links : Onlinestatus : Flavaslava ist offline
Registriert seit: Aug 2010
Beiträge: 2
Flavaslava befindet sich auf einem aufstrebenden Ast
Standard

Hey HelgeHH,


dein Ansatz ist leider nicht so richtig. Es gibt sehr viele wege um dies zu lösen, ich kann dir gerne meinen Ansatz vorschlagen. Wenn du einzelne Datensätze bearbeiten möchtest, dann brauchst du nur dir ID des Datensatzes mithilfe von $_GET weitergeben und auf der anderen Seite diese ID in der Datenbank abfragen und den Datensatz herausholen und diese in einem Formular packen und den Formular dann mit $_POST absenden und den Datensatz dann aktualisieren. Ich zeige dir mal ein Beispiel wie ich es mache.


z.b. Die Tabelle könnte so aussehen:
Du fügst in die letzte spalte eine Aktionen spalte und dort übergibst du die ID mithilfe von $_GET auf die Seite wo es bearbeitet werden soll.

PHP-Code:
<table border="1">
 <tr>  <th>ID</th>  <th>Nachname</th>  <th>Vorname</th>  <th>Strasse</th>  <th>Plz</th>  <th>Ort</th>  <th>Telefonnummer</th>  <th>Handynummer</th>  <th>Email</th> 
  <th>Webseite</th>  <th>Notiz</th>  <th>Aktionen</th> </tr>
<?php
while ($dsatz mysqli_fetch_assoc($res)) {?>
 <tr>
  <td><?php echo $dsatz["perso_id"]; ?></td> 
  <td><?php echo $dsatz["nachname"]; ?></td> 
  <td><?php echo $dsatz["vorname"]; ?></td> 
  <td><?php echo $dsatz["strasse"]; ?></td> 
  <td><?php echo $dsatz["plz"]; ?></td>
  <td><?php echo $dsatz["ort"]; ?></td>
  <td><?php echo $dsatz["telefonnummer"]; ?></td> 
  <td><?php echo $dsatz["handynummer"?></td> 
  <td><?php echo $dsatz["email"]; ?></td> 
  <td><?php echo $dsatz["webseite"]; ?></td> 
  <td><?php echo $dsatz["nachricht"]; ?></td>  <td><a href="db.einzel_b.php?id=<?php echo $dsatz["perso_id"]; ?>">Bearbeiten</a></td>
 </tr><?php
     

?></table>
So damit hast du schonmal die ID weitergegeben an db.einzel_b.php.
Jetzt musst du die ID abfangen und diesen Datensatz in einem Formular anzeigen. z.B:


<div>
PHP-Code:
<?php

$personal_id 
$_GET["id"]; //hier wird die ID abgefangen


   
if(isset($_POST["aktualisieren"])) {      $nachname $_POST["nachname"];      $vorname $_POST["vorname"]; 
      
und so weiter bis du alle formular felder hast und danach speicherst du  
      
die abgesendete Daten in der Datenbank mithilfe von UPDATE   
  else {    
$con mysqli_connect("localhost""root""xxx""Telefonbuch");     $sql "SELECT perso_id, nachname, vorname, strasse, plz, ort, telefonnummer, handynummer, email, webseite,      nachricht FROM personen WHERE perso_id = '$personal_id'"
    
$res mysqli_query($con$sql);
   
$dsatz mysqli_fetch_assoc($res);?>  

<form method="post">  
<input type="text" name="nachname" value="<?php echo $dsatz["nachname"]; ?>">  
und so weiter kannst du alle inputs machen 

<input type="submit" name="aktualisieren" value="Aktualisieren">   </form> 

<?php }
Ich hoffe das war ein wenig hilfreich. Du kannst den URL mit benutzen, ich denke es ist einfacher als wie du es versucht hast. So hnlich kannst du auch mit löschen arbeiten.


Mfg
Flava




PS: Tut mir leid, leider ist die Strukturierung durcheinander gegangen, deswegen ist alles ein wenig versetzt, eventuell kannst du dir den Code mithilfe von einem Editor anschauen

Geändert von Flavaslava (29-03-2019 um 23:35 Uhr)
Mit Zitat antworten
  #3 (permalink)  
Alt 30-03-2019, 00:03
HelgeHH
 Registrierter Benutzer
Links : Onlinestatus : HelgeHH ist offline
Registriert seit: Mar 2019
Beiträge: 3
HelgeHH befindet sich auf einem aufstrebenden Ast
Standard

Hallo Flava,

danke erstmal für deine ausführliche Antwort, ich muss mich da erstmal reinlesen und reindenken, ist wie du schon selber sagst ein ganz anderer Ansatz als mein code :-)

ich werde ihn ausprobieren und gebe dann bescheid, bzw. stelle nachfragen wenn sich noch welche für mich ergeben :-)

danke nochmal ,

gruß,

Helge
Mit Zitat antworten
  #4 (permalink)  
Alt 30-03-2019, 15:21
HelgeHH
 Registrierter Benutzer
Links : Onlinestatus : HelgeHH ist offline
Registriert seit: Mar 2019
Beiträge: 3
HelgeHH befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

habe mich mit flavas lösung beschäftigt aber leider habe ich es nicht hinbekommen, ständig eine weiße Seite und keine Fehlerausgabe :/


Jetzt sieht das ganze so aus:



wenn ich aendern.php aufrufe, werden mir automatisch alle datensätze aus der datenbank angezeigt ( siehe bild aendernneuweb.jpg ). Ich kann dann einen Datensatz auswählen und an db_einzel_b.php ( siehe bild db_einzel_bweb.jpg ) übergeben, der datensatz wird dann angezeigt und kann bearbeitet werden , änderungen werden dann über db_einzel_c.php per update befehl an die datenbank übertragen!

soweit , so gut, funktionalität besteht !

Das einzige, was mich jetzt noch stört, ist das wenn ich aendern.php aufrufe, alle datensätze in der datenbank aufgerufen werden, bei 20 datensätzen noch übersichtlich, aber kommen mehr dazu, wird es schwierig!

Hat jemand noch ne idee, wie ich vorgehen kann oder was ich machen kann um nicht alle datensätze automatisch angezeigt zu bekommen? Gibt es ne einfache Filterfunktion oder Suchmöglichkeit die ich einfügen kann ohne den ganzen code umschreiben zu müssen? :-)

Für Anregungen / Tipps wäre ich echt dankbar!

gruß,

Helge




Hier der Code von aendern.php:

PHP-Code:

<body>    
<nav id="nav">
    
        <ul>
           <li><a href="index.php">Suchen</a></li>
           <li><a href="eintragen.php">Eintragen</a></li>
           <li><a href="#" class="aktiv">&Auml;ndern</a></li>
          <!-- <li><a href="loeschen.php">Löschen</a></li> -->
        
        </ul>
</nav>
<p class="webinet">Mein Adressbuch</p><br><br><br>
    
<br><br>
<div class="format">
<H2><p><b>Treffen Sie Ihre Auswahl:</b></p></h2><br><br>

<form action = "db_einzel_b.php" method= "post">
<?php

   $con 
mysqli_connect("localhost""root""xxx""telefonbuch");
   
$res mysqli_query($con"SELECT * From personen ORDER BY nachname");
   echo 
"<table border='1'>";
   echo 
"<tr>";
   echo 
"<td></td> <td>Nachname</td> <td>Vorname</td> <td>Strasse</td> <td>Plz</td> <td>Ort</td> <td>Telefonnummer</td> <td>Handynummer</td> <td>Email</td> <td>Webseite</td> <td>Nachricht</td>";
   echo 
"</tr>";

while (
$dsatz mysqli_fetch_assoc($res))
{
echo 
"<tr>";
echo 
"<td><input type='radio' name='auswahl'";
echo 
" value='" $dsatz["perso_id"] . "'></td>";
echo 
"<td>" $dsatz["nachname"] . "</td>";
echo 
"<td>" $dsatz["vorname"] . "</td>";
echo 
"<td>" $dsatz["strasse"] . "</td>";
echo 
"<td>" $dsatz["plz"] . "</td>";
echo 
"<td>" $dsatz["ort"] . "</td>";
echo 
"<td>" $dsatz["telefonnummer"] . "</td>";
echo 
"<td>" $dsatz["handynummer"] . "</td>";
echo 
"<td>" $dsatz["email"] . "</td>";
echo 
"<td>" $dsatz["webseite"] . "</td>";
echo 
"<td>" $dsatz["nachricht"] . "</td>";
echo 
"</tr>";
}
echo 
"</table>";

mysqli_close($con);
?>
<br><br><br>
<p><input type="submit" value="Datensatz anzeigen"></p>
<br><br><br>
</form>
</div>
</body>
Hier der Code von db_einzel_b.php :

PHP-Code:

<body>

<nav id="nav">
    
        <ul>
           <li><a href="index.php">Suchen</a></li>
           <li><a href="eintragen.php">Eintragen</a></li>
           <li><a href="aendern.php">&Auml;ndern</a></li>
          <!-- <li><a href="loeschen.php">Löschen</a></li> -->
        </ul>
</nav>
<p class="webinet">Mein Adressbuch</p><br><br><br>
<br>
<br>
<div id="ausgabe">
<?php
if (isset($_POST["auswahl"]))
{
    
$con mysqli_connect("localhost""root""xxx""telefonbuch");
    
$sql "SELECT * FROM personen WHERE perso_id = " $_POST["auswahl"];
    
$res mysqli_query($con$sql);
    
$dsatz mysqli_fetch_assoc($res);
    
    echo 
"<p><h2>Bitte neue Inhalte Eintragen und speichern:</h2></p><br><br>";
    echo 
"<form action = 'db_einzel_c.php' method = 'post'>";
    echo 
"<fieldset>";
    
    echo 
"<p>Vorname:</p><input class='selbst' name='vorname' value='" $dsatz["vorname"] . "'> ";
    echo 
"<p>Nachname:</p><input class='selbst' name='nachname' value='" $dsatz["nachname"] . "'> ";
    echo 
"<p>Strasse:</p><input class='selbst' name='strasse' value='" $dsatz["strasse"] . "'> ";
    echo 
"<p>Plz:</p><input class='selbst' name='plz' value='" $dsatz["plz"] . "'> ";
    echo 
"<p>Ort:</p><input class='selbst' name='ort' value='" $dsatz["ort"] . "'> ";
    echo 
"<p>Telefonnummer:</p><input class='selbst' name='telefonnummer' value='" $dsatz["telefonnummer"] . "'> ";
    echo 
"<p>Handynummer:</p><input class='selbst' name='handynummer' value='" $dsatz["handynummer"] . "'> ";
    echo 
"<p>Email:</p><input class='selbst' name='email' value='" $dsatz["email"] . "'> ";
    echo 
"<p>Webseite:</p><input class='selbst' name='webseite' value='" $dsatz["webseite"] . "'> ";
    echo 
"<p>Notiz:</p><input class='selbst1' name='nachricht' value='" $dsatz["nachricht"] . "'> ";
    echo 
"<input type='hidden' name='oripn' value='" $_POST["auswahl"] . "'>";
    echo 
"<br>";
    echo 
"<p><input type='submit' value='Speichern'>";
    
    echo 
"</fieldset>";
    echo 
"</form>";
    
    
mysqli_close($con);
}
else
    echo 
"<p><h2>Keine Auswahl getroffen!</h2></p>";
    echo 
"<br><br>";
    echo 
"<p>Bitte einen <a href='aendern.php'>Datensatz </a>w&auml;hlen!</p>";

?>
</div>

</body>

Und hier mein Code für db_einzel_c.php :

PHP-Code:

<?php
    $con 
mysqli_connect("localhost""root""xxx""telefonbuch");
    
$sql "UPDATE personen SET"
       
" vorname = '" $_POST["vorname"] . "',"
       
" nachname = '" $_POST["nachname"] . "',"
       
" strasse = '" $_POST["strasse"] . "',"
       
" plz = '" $_POST["plz"] . "',"
       
" ort = '" $_POST["ort"] . "',"
       
" telefonnummer = '" $_POST["telefonnummer"] . "',"
       
" handynummer = '" $_POST["handynummer"] . "',"
       
" email = '" $_POST["email"] . "',"
       
" webseite = '" $_POST["webseite"] . "',"
       
" nachricht = '" $_POST["nachricht"] . "'"
       
" WHERE perso_id = " $_POST["oripn"];
       
mysqli_query($con$sql);
       
/*
       $num = mysqli_affected_rows($con);
       if($num > 0) echo "Betroffen: $num<br>";
       else         echo "Betroffen: 0<br>";
       */
       
mysqli_close($con);
?>
Miniaturansicht angehängter Grafiken
Mein Projekt Telefonbuch-aenderneuweb.jpg   Mein Projekt Telefonbuch-db_einzel_bweb.jpg  

Geändert von HelgeHH (30-03-2019 um 17:59 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 22-04-2019, 13:42
routernetwork01
 Registrierter Benutzer
Links : Onlinestatus : routernetwork01 ist offline
Registriert seit: Apr 2019
Beiträge: 2
routernetwork01 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von HelgeHH Beitrag anzeigen
Hallo,

ich hänge gerade ein wenig und hoffe ihr könnt mir weiterhelfen! Ich bin absoluter PHP neuling und lerne noch. Ich komme nicht aus der IT und mache das hier einfach zum spass :-)

Nun mein Problem, ich habe ein Php skript geschrieben, teilweise aus büchern genommen und modifiziert, aber gerade komme ich nicht weiter.

ich arbeite an einer Seite auf der ich meine Datensätze suchen, eintragen und verändern kann, die ersten beiden möglichkeiten habe ich schon erreicht.

Hier mal mein Code:
PHP-Code:

<?php
error_reporting
(-1);
ini_set('display_errors'1);
if(isset(
$_POST["gesendet"]) && $_POST["nachname"] != "") {
$con mysqli_connect("localhost""root""xxx""Telefonbuch");
$sql "SELECT perso_id, nachname, vorname, strasse, plz, ort, telefonnummer, handynummer, email, webseite, nachricht FROM personen"
   
" WHERE nachname LIKE '" $_POST["nachname"] . "%'";
$res mysqli_query($con$sql);
$num mysqli_num_rows($res);
if(
$num 0) { echo "<h3>Ergebnis:</h3><br><br>";



echo 
"<table border='1'>";
echo 
"<tr> <th></th> <td>Nachname</th> <td>Vorname</th> <th>Strasse</th> <th>Plz</th> <th>Ort</th> <th>Telefonnummer</th> <th>Handynummer</th> <th>Email</th> <th>Webseite</th> <th>Notiz</th> </tr>";

while (
$dsatz mysqli_fetch_assoc($res))
{
    echo 
"<tr>";
    echo 
"<td><input type='radio' name='auswahl'";
    echo 
" value='" $dsatz["perso_id"] . "'></td>";
    echo 
"<td>"    $dsatz["nachname"] . "</td>";
    echo 
"<td>"    $dsatz["vorname"] . "</td>";
    echo 
"<td>" $dsatz["strasse"] . "</td>";
    echo 
"<td>"    $dsatz["plz"] . "</td>";
    echo 
"<td>"    $dsatz["ort"] . "</td>";
    echo 
"<td>"    $dsatz["telefonnummer"] . "</td>";
    echo 
"<td>"    $dsatz["handynummer"] . "</td>";
    echo 
"<td>"    $dsatz["email"] . "</td>";
    echo 
"<td>"    $dsatz["webseite"] . "</td>";
    echo 
"<td>"    $dsatz["nachricht"] . "</td>";
    echo 
"</tr>";
    
}
echo 
"</table>";
echo 
"<br><br><br>";
echo 
"<input type='submit' name='uebergeben' value='Datensatz bearbeiten'>";
echo 
"<br><br>";

} else { echo 
"<h3>Keine Ergebnisse!</h3><br><br><br>";
}

/* if(isset($_POST["auswahl"]) && $_POST["uebergeben"])) {
    header("Location: db.einzel_b.php");
    exit;
} else {
    echo "Bitte einen Datensatz auswählen"; 
} */



mysqli_close($con);
}
?>
Im grunde läuft das skript schon ganz gut, also die suche nach datensätzen, sie werden aufgrundlage des suchbegriffs angezeigt und sind auch per radio type auswählbar, 19216811-login.info lediglich das uebergeben an die datei db_einzel_b.php wenn ich auf auf den submitbutton mit name = uebergeben drücke, klappt noch nicht!

Steinigt mich bitte nicht, ich habe meine lösung die leider nciht funzt in Kommentarzeichen eingeschlossen.

Über tipps / anregungen zur funktionalität wäre ich dankbar.

Ich weiss auch das mein code noch einige sicherheitsaspekte verträgt, wie gesagt ich lerne noch :-)

Gruß,

Helge

Thank you
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
Mein Projekt. Hilfe ! Glambo PHP Developer Forum 9 26-08-2012 13:06
mein opensource cms projekt feedback klomann User pages 7 21-06-2012 04:47
[ konstruktive Kritik bitte ] Mein neues Projekt nohfreak User pages 6 20-03-2009 17:19
Mein Kleines Projekt tut was, aber was ? Chi-Santo PHP Developer Forum 6 04-03-2007 18:36
Bitte mein Projekt einschätzen?! dagato User pages 31 23-01-2004 17:15

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

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

jqPlot jQuery Plotting Plugin ansehen jqPlot jQuery Plotting Plugin

jqPlot ist ein plotting und charting plugin für das jQuery Javascript framework

06.11.2019 Berni | Kategorie: AJAX/ Framework
WYSIWYG Editor

WYSIWYG Editor zum Einbinden in PHP Scripte.

21.10.2019 Stephan_1972 | Kategorie: PHP/ WYSIWYG
Modelmanager

Der Modelmanager ist ein Webtool für Fotografen, kann als komplette Homepage oder als Webtool installiert werden.

10.10.2019 Stephan_1972 | Kategorie: PHP/ Bilder
 Alle PHP Scripte anzeigen

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