Hallo,
Ik ben sinds kort weer een beetje begonnen met php en ik loopt een beetje vast bij het update van tekst naar de database.

Dit is het script:
<?php

error_reporting(0);
include('config/database.php');
$id = $_GET['id'];
$task = $_POST['task'];

mysql_select_db("todo",$conn);
if(isset($_POST['edit'])){
$edit = "UPDATE todo SET task='$task' WHERE id='$id'";
mysql_query($edit, $conn);
};

$sql = "SELECT * FROM todo WHERE id='$id'";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "<b>ID:</b> ".$row['id']."<br /> <b>Taak:</b><br />
<form method=post>
<textarea name=task cols=73 rows=9>".$row[task]."</textarea><br />
<input type=submit name=edit value=edit style=float: left>
</form>
</p>";
}
} else {
echo "Verkeerde ID";
}


$conn->close();

?>
(het is misschien een beetje rommelig maar dat komt wel als ik wat meer van php ken)
En als ik dan tekst verander en op submit button klik gebeurt er niks. Wat doe ik fout? Ik heb al meerdere tutorials gevold maar het wilt niet lukken.

Alvast bedankt.
Als je even error_reporting() even zet op error_reporting(1) zie je een error, zet die error hier in een reactie en dan kunnen we kijken wat er fout is ;-)

[size=xsmall]Toevoeging op 04/02/2017 20:09:46:[/size]

En waarom de mysql functies en niet die van mysqli?
- Rob - op 04/02/2017 20:09:13

Als je even error_reporting() even zet op error_reporting(1) zie je een error, zet die error hier in een reactie en dan kunnen we kijken wat er fout is ;-)

[size=xsmall]Toevoeging op 04/02/2017 20:09:46:[/size]

En waarom de mysql functies en niet die van mysqli?


Ik heb al van een vriend begrepen dat mysqli (wat jij zegt) beter is. Maar ik moet het op een host doen wat op xampp bugt alles
Ondersteunt je host dat dan niet??
Bij de UPDATE gebruik je dit :

mysql_query($edit, $conn);


En bij de SELECT dit :

$result = $conn->query($sql);


Ook dnk ik dat bij die UPDATE een $result van de query ontbreekt.

Vervolgens gebruik je '' :

$row['id']


en dan weer zonder '' :

$row[task]


Het zal wel werken (of niet), maar probeer het eens consequent te doen.
- Ariën - op 04/02/2017 20:40:42

Ondersteunt je host dat dan niet??

Xampp niet, die doet de laatste tijd al raar, dan maar even kijken voor een goedkope host.
Adoptive Solution op 04/02/2017 21:02:03

Bij de UPDATE gebruik je dit :

mysql_query($edit, $conn);


En bij de SELECT dit :

$result = $conn->query($sql);


Ook dnk ik dat bij die UPDATE een $result van de query ontbreekt.

Vervolgens gebruik je '' :

$row['id']


en dan weer zonder '' :

$row[task]


Het zal wel werken (of niet), maar probeer het eens consequent te doen.



Ik zal dit zeker gaan proberen
Heb je wel de laatste versie van XAMPP? Als je deze niet hebt zit PHP 5 er hoogst waarschijnlijk niet op en ondersteunt jouw host het dus niet.
Als je een XAMPP hebt zonder PHP 5, dan loop je zeker wel 13 jaar achter :P
We zitten al bij versie 7 (waarvan 6 is overgeslagen door de ontwikkelaars).

Trowens, als XAMPP raar doet, is het niet zinvoller om dat eens uit te zoeken?
Ik weet alleen niet of je alle databases kan behouden als je XAMPP update maar je kan wel alle bestanden en databases een backup van maken en die dan weer erin zetten.

[size=xsmall]Toevoeging op 05/02/2017 16:09:43:[/size]

- Ariën - op 05/02/2017 16:08:18

Als je een XAMPP hebt zonder PHP 5, dan loop je zeker wel 13 jaar achter :P
We zitten al bij versie 7 (waarvan 6 is overgeslagen door de ontwikkelaars).

;P ja, maar je kan oudere PHP versies erop zetten en wie weet heeft hij dit wel gedaan. Of hij kan een te oude xampp hebben gedownload..
Een database is niet zomaar één op één overzetbaar.

Daarom loont het altijd om dit te dumpen naar een text-file (*.sql) en deze weer in te laden. Het makkelijkste is om dit via de command-line te doen met de mysql en mysqldump executables. Via phpMyAdmin kan ook, maar grote databases kunnen voor een time-out zorgen omdat de max-upload-size en/of max-execution-time wordt overschreden. Ikzelf kan ook de HeidiSQL client aanraden.

Ik verwacht overigens niet dat iemand nu nog een decennia oude versie zal hebben geinstalleerd.
En anders hoor ik graag wat <?php phpinfo(); ?> voor uitkomst biedt, kijkend naar de versie van PHP in de titel.
time-out tijd kan je gemakkelijk veranderen naar hoelang jij wilt bijvoorbeeld: 2 uur ofziets (Misschien is dit te lang heb het zelf veranderd naar 10 minuten)

Reageren